Btw, the issue with those conflicting functions could be resolved by careful uses of selective imports:
import win32.wingdi; // This overwrites win32\wingdi : wglMakeCurrent, wglDeleteContext, wglCreateContext; import derelict.opengl.wgl : wglMakeCurrent, wglDeleteContext, wglCreateContext; // This overwrites win32.basetsd or wherever HGLRC is import derelict.util.wintypes : HGLRC; But again, that doesn't scale as it gets tedious to have to do this in every module..