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
def initialize(id, args: [], fn: nil, arity: nil, &block) @id = id @args = args @fn = fn || block @arity = arity || @fn.arity end