Add support for lazy initializated types

Resolves #331.
It could be a private static helper method, but then I'd have to add binding flags in Reflection code.