def duplicate? other
      self.parent.equal?(other.parent) && @wme.equal?(other.wme) && self.assignments == other.assignments
    end
def duplicate? other
      self.parent.equal?(other.parent) && @wme.equal?(other.wme) && self.assignments == other.assignments
    end
TODO ignore assignments?