Split the constructor which makes the module function using the HEAD version of D. Made the opIndex overloads return refs.
Implemented opAssign in a more correct but sadly much more verbose way.