extension Node {
    public final class BooleanOperation: Vector {
        let booleanOperation: Operation
        enum Operation: String, Decodable {
            case union = "UNION"
            case intersect = "INTERSECT"
            case subtract = "SUBTRACT"
            case exclude = "EXCLUDE"
        }
        
        private enum CodingKeys: String, CodingKey {
            case booleanOperation
        }
        
        public required init(from decoder: Decoder) throws {
            let keyedDecoder = try decoder.container(keyedBy: Self.CodingKeys)
            
            self.booleanOperation = try keyedDecoder.decode(Operation.self, forKey: .booleanOperation)
            
            try super.init(from: decoder)
        }
        
        public override func encode(to encoder: Encoder) throws {
            fatalError("Not yet implemented")
        }
        
        override var contentDescription: String {
            return """
                - booleanOperation: \(booleanOperation)
                """
        }
    }
}

extension Node {
    public final class BooleanOperation: Vector {
        let operation: Operation
        enum Operation: String, Decodable {
            case union = "UNION"
            case intersect = "INTERSECT"
            case subtract = "SUBTRACT"
            case exclude = "EXCLUDE"
        }
        
        private enum CodingKeys: String, CodingKey {
            case operation
        }
        
        public required init(from decoder: Decoder) throws {
            let keyedDecoder = try decoder.container(keyedBy: Self.CodingKeys)
            
            self.operation = try keyedDecoder.decode(Operation.self, forKey: .operation)
            
            try super.init(from: decoder)
        }
        
        public override func encode(to encoder: Encoder) throws {
            fatalError("Not yet implemented")
        }
        
        override var contentDescription: String {
            return """
                - operation: \(operation)
                """
        }
    }
}

--- 
+++ 
@@ -1,6 +1,6 @@
 extension Node {
     public final class BooleanOperation: Vector {
-        let operation: Operation
+        let booleanOperation: Operation
         enum Operation: String, Decodable {
             case union = "UNION"
             case intersect = "INTERSECT"
@@ -9,13 +9,13 @@
         }
         
         private enum CodingKeys: String, CodingKey {
-            case operation
+            case booleanOperation
         }
         
         public required init(from decoder: Decoder) throws {
             let keyedDecoder = try decoder.container(keyedBy: Self.CodingKeys)
             
-            self.operation = try keyedDecoder.decode(Operation.self, forKey: .operation)
+            self.booleanOperation = try keyedDecoder.decode(Operation.self, forKey: .booleanOperation)
             
             try super.init(from: decoder)
         }
@@ -26,7 +26,7 @@
         
         override var contentDescription: String {
             return """
-                - operation: \(operation)
+                - booleanOperation: \(booleanOperation)
                 """
         }
     }
Fix typo in boolean operation property.