                 expect(sut.value(forKeyPath: "isTuple") as? Bool).to(equal(true))
             }
 
+            it("can report closure type via KVC") {
+                let sut = Typealias(typeName: TypeName("(Int) -> (Int)"))
+                expect(sut.value(forKeyPath: "isClosure") as? Bool).to(equal(true))
+            }
+
             it("can report actual type name via KVC") {
                 let sut = AssociatedValue(typeName: TypeName("Alias"))
                 expect(sut.value(forKeyPath: "actualTypeName") as? TypeName).to(equal(TypeName("Alias")))

                expect(sut.value(forKeyPath: "isTuple") as? Bool).to(equal(true))
            }

            it("can report actual type name via KVC") {
                let sut = AssociatedValue(typeName: TypeName("Alias"))
                expect(sut.value(forKeyPath: "actualTypeName") as? TypeName).to(equal(TypeName("Alias")))

                expect(sut.value(forKeyPath: "isTuple") as? Bool).to(equal(true))
            }

            it("can report closure type via KVC") {
                let sut = AssociatedValue(typeName: TypeName("(Int) -> (Int)"))
                expect(sut.value(forKeyPath: "isClosure") as? Bool).to(equal(true))
            }

            it("can report actual type name via KVC") {
                let sut = AssociatedValue(typeName: TypeName("Alias"))
                expect(sut.value(forKeyPath: "actualTypeName") as? TypeName).to(equal(TypeName("Alias")))
