`const`, `immutable`, `inout`, and `shared` are meaningful for member functions. Against that, we should no allow them for free functions (including (shared) static ctors).

`@property` for ctor is another debatable thing...