First Lite tests are passing.
diff --git a/src/ProtocolBuffers/ExtendableMessageLite.cs b/src/ProtocolBuffers/ExtendableMessageLite.cs
index 4cd90e4..fc2ccb6 100644
--- a/src/ProtocolBuffers/ExtendableMessageLite.cs
+++ b/src/ProtocolBuffers/ExtendableMessageLite.cs
@@ -74,7 +74,7 @@
       if (value == null) {
         return extension.DefaultValue;
       } else {
-        return (TExtension)value;
+        return (TExtension)extension.FromReflectionType(value);
       }
     }
 
@@ -83,7 +83,7 @@
     /// </summary>
     public TExtension GetExtension<TExtension>(GeneratedExtensionLite<TMessage, IList<TExtension>> extension, int index) {
       VerifyExtensionContainingType(extension);
-      return (TExtension)extensions[extension.Descriptor, index];
+      return (TExtension)extension.SingularFromReflectionType(extensions[extension.Descriptor, index]);
     }
 
     /// <summary>