Two questions to the community: 1. The following is obviously a bug? class Test { static { this(){}; // defined not as static constructor but as instance constructor ... more static members here } } 2. Why module constructor must be attributed with static? All module level methods are already static so the attribute seems to be redundant. Make it optional?