diff --git a/lib/src/header_parser/type_extractor/extractor.dart b/lib/src/header_parser/type_extractor/extractor.dart
index 7e62d78..1590d73 100644
--- a/lib/src/header_parser/type_extractor/extractor.dart
+++ b/lib/src/header_parser/type_extractor/extractor.dart
@@ -224,7 +224,9 @@
       return _CreateTypeFromCursorResult(
           parseObjCInterfaceDeclaration(cursor, ignoreFilter: ignoreFilter));
     default:
-      throw UnimplementedError('Unknown type: ${cxtype.completeStringRepr()}');
+      return _CreateTypeFromCursorResult(
+          UnimplementedType('Unknown type: ${cxtype.completeStringRepr()}'),
+          addToCache: false);
   }
 }
 
diff --git a/test/native_objc_test/category_test.dart b/test/native_objc_test/category_test.dart
index 8a8df0b..a424c46 100644
--- a/test/native_objc_test/category_test.dart
+++ b/test/native_objc_test/category_test.dart
@@ -14,7 +14,7 @@
 import 'util.dart';
 
 void main() {
-  Thing? testInstance;
+  late Thing testInstance;
   late CategoryTestObjCLibrary lib;
 
   group('categories', () {
@@ -28,8 +28,10 @@
     });
 
     test('Category method', () {
-      expect(testInstance!.add_Y_(1000, 234), 1234);
-      expect(testInstance!.sub_Y_(1234, 1000), 234);
+      expect(testInstance.add_Y_(1000, 234), 1234);
+      expect(testInstance.sub_Y_(1234, 1000), 234);
+      expect(testInstance.mul_Y_(1234, 1000), 1234000);
+      expect(testInstance.someProperty, 456);
     });
   });
 }
diff --git a/test/native_objc_test/category_test.m b/test/native_objc_test/category_test.m
index bfbf4ae..63cd873 100644
--- a/test/native_objc_test/category_test.m
+++ b/test/native_objc_test/category_test.m
@@ -19,3 +19,19 @@
   return x - y;
 }
 @end
+
+@interface Thing (Mul)
+-(int32_t)mul:(int32_t)x Y:(int32_t) y;
+
+@property (readonly) int32_t someProperty;
+@end
+
+@implementation Thing (Mul)
+-(int32_t)mul:(int32_t)x Y:(int32_t) y {
+  return x * y;
+}
+
+-(int32_t)someProperty {
+  return 456;
+}
+@end
diff --git a/test/native_objc_test/property_test.m b/test/native_objc_test/property_test.m
index 74728e5..117c6d5 100644
--- a/test/native_objc_test/property_test.m
+++ b/test/native_objc_test/property_test.m
@@ -1,10 +1,13 @@
 #import <Foundation/NSObject.h>
 
+@class UndefinedTemplate<ObjectType>;
+
 @interface PropertyInterface : NSObject {
 }
 
 @property (readonly) int32_t readOnlyProperty;
 @property int32_t readWriteProperty;
+@property (class, readonly, copy) UndefinedTemplate<NSString *> *regressGH436;
 @property (class, readonly) int32_t classReadOnlyProperty;
 @property (class) int32_t classReadWriteProperty;
 
