Note that D already supports "static if" so it essentially already supports assertion requirements (even if maybe not actually documented for D's contracts).