If a AST node has multiple dependencies and one of those dependencies is a placeholder or has a cyclical dependency of their own then we can end up in a situation where some dependencies produces facts while others do not. Should we even have multiple dependencies (binary ops) or should everything be unary. If we do have binary ops should we ensure validate against this edge case somehow