The casts are necessary because I haven't yet applied 'shared' to druntime. I ran into a few issues when doing so and rolled back my changes. I'll give it another shot before the next release.