temp
major refactoring away from BinaryNode and UnaryNode and into PredicateNode which has 0-N children.