class Dentaku::AST::Combinator

def initialize(*)

def initialize(*)
  super
  unless valid_node?(left)
    raise NodeError.new(:logical, left.type, :left),
          "#{self.class} requires logical operands"
  end
  unless valid_node?(right)
    raise NodeError.new(:logical, right.type, :right),
          "#{self.class} requires logical operands"
  end
end

def type

def type
  :logical
end

def valid_node?(node)

def valid_node?(node)
  node && (node.dependencies.any? || node.type == :logical)
end