class Dry::Logic::Rule

def bind(object)

def bind(object)
  if predicate.respond_to?(:bind)
    self.class.build(predicate.bind(object), options)
  else
    self.class.build(
      -> *args { object.instance_exec(*args, &predicate) },
      options.merge(arity: arity, parameters: parameters)
    )
  end
end