Make as much as possible of Imaginary @safe nothrow pure.