Ok, got everything strongly typed! holy crap, so good. Now just to implement the remaining methods (just copy over the logic like last time). Then we need to obsolete the non-strongly typed ones and we'll be in business hopefully (need to test compat but think it's ok!)