     
     func testEnumToRaw() {
         let test1 = getRawValue(MyEnumOne.OK)
-        XCTAssertTrue(test1 as? String == "OK", "Could nog get the rawvalue using a generic function")
+        XCTAssertTrue(test1 as? String == "OK-2", "Could nog get the rawvalue using a generic function")
         let test2 = getRawValue(MyEnumTwo.OK)
         XCTAssertTrue(test2 as? Int == 1, "Could nog get the rawvalue using a generic function")
         let test3 = getRawValue(MyEnumThree.OK)
         XCTAssertTrue(test3 as? Int64 == 1, "Could nog get the rawvalue using a generic function")
-        let test4 = getRawValue(MyEnumFour.NotOK(message: "realy wrong"))
-        XCTAssertTrue(test4 as? String == "realy wrong", "Could nog get the rawvalue using a generic function")
-        let test5 = getRawValue(MyEnumFour.OK(level: 3))
-        XCTAssertTrue(test5 as? Int == 3, "Could nog get the rawvalue using a generic function")
+        let test4 = getRawValue(MyEnumFour.NotOK(message: "realy wrong")) as? (String?, [protocol<>])
+        XCTAssertTrue(test4?.0 == "NotOK", "Could nog get the rawvalue using a generic function")
+        XCTAssertTrue(test4?.1.first as? String == "realy wrong", "Could nog get the associated value using a generic function")
+        let test5 = getRawValue(MyEnumFour.OK(level: 3)) as? (String?, [protocol<>])
+        XCTAssertTrue(test5?.0 == "OK", "Could nog get the rawvalue using a generic function")
+        XCTAssertTrue(test5?.1.first as? Int == 3, "Could nog get the associated value using a generic function")
     }
     
     func testArrayNullable() {

        print("description = \(description)")
        let displayStyle = mirror.displayStyle  // --> Enum
        print("displayStyle = \(displayStyle)")
        let count = mirror.children.count  // --> 0
        print("children.count = \(count)")
        if mirror.children.count > 0 {
            for child in mirror.children {
                print("child.label = \(child.label), child.value = \(child.value)")
            }
        }
        
        let subjectType = mirror.subjectType // EVReflectionTests.EnumWorkaroundsTests.MyEnumOne
        print("subjectType = \(subjectType)")


        if mirror.displayStyle == .Enum {
            print("displayStyle is .Enum")

            let count = mirror.children.count  // --> 0
            print("children.count = \(count)")
            if mirror.children.count > 0 {
                for child in mirror.children {
                    print("child.label = \(child.label), child.value = \(child.value)")
                }
                return (mirror.children.first?.label, mirror.children.map({$0.value}))
            }
            
            
            // OK, and now?
            
