class Dry::Logic::Predicate

def initialize(id, args: [], fn: nil, arity: nil, &block)

def initialize(id, args: [], fn: nil, arity: nil, &block)
  @id = id
  @args = args
  @fn = fn || block
  @arity = arity || @fn.arity
end