__staticinitialize now runs after the first time the type is complete.
inside a staticinitialize function it is possible to use types that have not
had their static initializers run.