 
 extension Edge: Statement {
     func serialize(with context: Graph) -> String {
-        return "\(from.identifier) \(context.type.op.rawValue) \(to.identifier)"
+        return "\(from.identifier) \(context.type.edgeOperator) \(to.identifier)"
     }
 }
 

}

struct Edge {
    enum Operator: String {
        case undirected = "--"
        case directed = "->"
    }

    var from: Node
    var to: Node
}

        case undirected = "graph"
        case directed = "digraph"

        var edgeOperator: String {
            switch self {
            case .undirected: return "--"
            case .directed: return "->"
            }
        }
    }
