class Dry::Logic::Rule

def self.build(predicate, args: EMPTY_ARRAY, arity: predicate.arity, **options)

def self.build(predicate, args: EMPTY_ARRAY, arity: predicate.arity, **options)
  specialize(arity, args.size).new(predicate, {args: args, arity: arity, **options})
end