     public var description: String {
         
         switch type {
-        case .UInt16ArrayType: return "\(uInt16Array ?? []))"
-        case .UInt32ArrayType: return "\(uInt32Array ?? []))"
-        case .UInt64ArrayType: return "\(uInt64Array ?? []))"
-        case .UInt8ArrayType: return "\(uInt8Array ?? []))"
-        case .S15Fixed16ArrayType: return "\(s15Fixed16Array ?? []))"
-        case .U16Fixed16ArrayType: return "\(u16Fixed16Array ?? []))"
-        case .XYZArrayType: return "\(XYZArray ?? []))"
+        case .UInt16Array: return "\(uInt16Array ?? []))"
+        case .UInt32Array: return "\(uInt32Array ?? []))"
+        case .UInt64Array: return "\(uInt64Array ?? []))"
+        case .UInt8Array: return "\(uInt8Array ?? []))"
+        case .S15Fixed16Array: return "\(s15Fixed16Array ?? []))"
+        case .U16Fixed16Array: return "\(u16Fixed16Array ?? []))"
+        case .XYZArray: return "\(XYZArray ?? []))"
         default: return "TagData(type:\(type), data:\(data))"
         }
     }

    
    public var s15Fixed16Array: [iccProfile.S15Fixed16Number]? {
        
        return type == .S15Fixed16ArrayType ? data.withUnsafeBytes { Array(UnsafeBufferPointer(start: $0, count: data.count / MemoryLayout<iccProfile.S15Fixed16Number>.stride)) } : nil
    }
    
    public var u16Fixed16Array: [iccProfile.U16Fixed16Number]? {
        
        return type == .U16Fixed16ArrayType ? data.withUnsafeBytes { Array(UnsafeBufferPointer(start: $0, count: data.count / MemoryLayout<iccProfile.U16Fixed16Number>.stride)) } : nil
    }
}


        
        case unknown
        
        case Chromaticity               = 0x6368726D  /* 'chrm' */
        case ColorantOrder              = 0x636C726F  /* 'clro' */
        case ColorantTable              = 0x636C7274  /* 'clrt' */
        case CrdInfo                    = 0x63726469  /* 'crdi' Removed in V4 */
        case Curve                      = 0x63757276  /* 'curv' */
        case Data                       = 0x64617461  /* 'data' */
        case Dict                       = 0x64696374  /* 'dict' */
        case DateTime                   = 0x6474696D  /* 'dtim' */
        case DeviceSettings             = 0x64657673  /* 'devs' Removed in V4 */
        case Lut16                      = 0x6d667432  /* 'mft2' */
        case Lut8                       = 0x6d667431  /* 'mft1' */
        case LutAtoB                    = 0x6d414220  /* 'mAB ' */
        case LutBtoA                    = 0x6d424120  /* 'mBA ' */
        case Measurement                = 0x6D656173  /* 'meas' */
        case MultiLocalizedUnicodeType      = 0x6D6C7563  /* 'mluc' */
        case MultiProcessElementType        = 0x6D706574  /* 'mpet' */
        case NamedColor2                = 0x6E636C32  /* 'ncl2' */
        case ParametricCurve            = 0x70617261  /* 'para' */
        case ProfileSequenceDescType        = 0x70736571  /* 'pseq' */
        case ProfileSequceId            = 0x70736964  /* 'psid' */
        case ResponseCurveSet16         = 0x72637332  /* 'rcs2' */
        case S15Fixed16Array            = 0x73663332  /* 'sf32' */
        case Screening                  = 0x7363726E  /* 'scrn' Removed in V4 */
        case Signature                  = 0x73696720  /* 'sig ' */
        case Text                       = 0x74657874  /* 'text' */
        case TextDescription            = 0x64657363  /* 'desc' Removed in V4 */
        case U16Fixed16Array            = 0x75663332  /* 'uf32' */
        case UcrBg                      = 0x62666420  /* 'bfd ' Removed in V4 */
        case UInt16Array                = 0x75693136  /* 'ui16' */
        case UInt32Array                = 0x75693332  /* 'ui32' */
        case UInt64Array                = 0x75693634  /* 'ui64' */
        case UInt8Array                 = 0x75693038  /* 'ui08' */
        case ViewingConditions          = 0x76696577  /* 'view' */
        case XYZArray                   = 0x58595A20  /* 'XYZ ' */
    }
}
