Index: Source/Additions/GSObjCRuntime.m
===================================================================
--- Source/Additions/GSObjCRuntime.m	(revision 28468)
+++ Source/Additions/GSObjCRuntime.m	(working copy)
@@ -1841,14 +1841,12 @@
               }
             else
               {
-                [NSException raise: NSInvalidArgumentException
-                            format: @"key-value get method unsupported struct"];
+	        val = [self valueForUndefinedKey: [NSString stringWithUTF8String: key]];
               }
             break;
 
 	  default:
-	    [NSException raise: NSInvalidArgumentException
-			format: @"key-value get method has unsupported type"];
+	    val = [self valueForUndefinedKey: [NSString stringWithUTF8String: key]];
 	}
       return val;
     }
@@ -2255,14 +2253,14 @@
               }
             else
               {
-                [NSException raise: NSInvalidArgumentException
-                            format: @"key-value set method unsupported struct"];
+                [self setValue: val
+               forUndefinedKey: [NSString stringWithUTF8String: key]];
               }
             break;
 
 	  default:
-	    [NSException raise: NSInvalidArgumentException
-			format: @"key-value set method has unsupported type"];
+            [self setValue: val
+           forUndefinedKey: [NSString stringWithUTF8String: key]];
 	}
     }
 }
