Currently packages and modules have type 'void', which makes no sense. They should have type _error. The following code should compile.
---
import std.stdio;
static assert( !is(typeof(std)) );
---
Comment #1 by maxim — 2012-11-26T10:50:32Z
Raw templates also have void type which may be a source of confusion. I think dmd should introduce special types for modules and templates or not define a type for them at all.