Parameterizing MappableClassLayout to increase type safety