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.merge(new_options))
end

def to_ast

def to_ast
  ast
end

def with(new_options)

def with(new_options)
  new(rules, options.merge(new_options))
end