     }
     
     public init(prefix: String = "v") {
-        self.init("\(prefix)\(list.count)")
+        self.init(Format.symbol(prefix, list.count))
     }
     
     public var hashValue: Int {

public struct Vertex: SetType, Comparable {
    public let id: Int
    public let label: String
    private let _components: [Vertex] // for product-vertex
    
    private init(_ label: String, _ components: [Vertex]) {

        if let v = productList[key] {
            return v
        } else {
            let label = "v\(components.map{ Format.sub($0.id) }.joined(separator: ","))"
            let v = Vertex(label, components)
            productList[key] = v
            return v
