class Dry::Logic::Operations::Abstract

def curry(*args)

def curry(*args)
  new(rules.map { |rule| rule.curry(*args) }, **options)
end

def id

def id
  options[:id]
end

def initialize(*rules, **options)

def initialize(*rules, **options)
  @rules = rules
  @options = options
end

def new(rules, **new_options)

def new(rules, **new_options)
  self.class.new(*rules, **options, **new_options)
end

def to_ast

def to_ast
  ast
end

def with(new_options)

def with(new_options)
  new(rules, **options, **new_options)
end