 
 public enum TextAttribute {
     
-    public enum FontStyle {
+    public enum FontStyle: Equatable {
         case color(Color), bold
         
         var parsed: String {

            case .color(let c): return "ss:Color=\"\(c.hexString())\""
            }
        }
    }
    
    case backgroundColor(Color)

                    let data = "<Data ss:Type=\"\(cell.type.rawValue)\">\(cell.value)</Data>"
                    
                    //style
                    let styleId: String
                    let styleValue = TextAttribute.styleValue(for: cell.attributes)
                    if let id = styles.filter({ k, v in v == styleValue }).first?.key {
                        styleId = id //reuse existing style
                    } else {
                        styleId = appendStyle(styleValue) //create new style
                    }
                    
                    let merge = cell.colspan.map{ "ss:MergeAcross=\"\($0)\"" } ?? ""
                    
