class Dry::Logic::Predicate
def call(*args)
def call(*args) fn.(*args) end
def curry(*args)
def curry(*args) self.class.new(id, *args, &fn.curry.(*args)) end
def initialize(id, *args, &block)
def initialize(id, *args, &block) @id = id @fn = block @args = args end
def to_ary
def to_ary [:predicate, [id, args]] end