class Dry::Logic::Rule::Interface

def define_constructor

def define_constructor
  assignment =
    if curried.equal?(1)
      "@arg0 = @args[0]"
    else
      "#{curried_args.join(", ")} = @args"
    end
  module_eval(<<~RUBY, __FILE__, __LINE__ + 1)
    def initialize(*)
      super
      #{assignment}
    end
  RUBY
end