     public var id: Node?
     public var leftId: Node?
     public var rightId: Node?
-    public var idKey: String?
 
     public init(_ first: Entity, _ second: Entity) {
         if First.self == type(of: self).left {

    }

    public init(node: Node, in context: Context) throws {
        
        id = try node.extract("id")
        idKey = try First.query().idKey
        
        let firstKey = "\(First.name)_\(idKey)"
        let secondKey = "\(Second.name)_\(idKey)"

    }

    public func makeNode(context: Context = EmptyNode) throws -> Node {
        let idKey = try First.query().idKey
        return try Node(node: [
            "\(idKey)": id,
            "\(type(of: self).left.name)_\(idKey)": leftId,
