Currently I'm in the process of adding address space pointer
support to LDC in general (through a magic UDA as opposed to
DCompute's magic struct), and so far I figured out I need to hack
it in at the class `ToElemVisitor` and `DValue`, maybe also touch
the files tollvm.cpp and irtype.cpp.
LDC has some issue with documentation, but will try to fix that
too somewhat, at least with code that I have to touch.
Also what does the non-namespaced `Type` stand for? Because it
has the same name as `llvm::Type`, more confusingly sometime by
each other's side in the same function's argument list.