support for constraints on primitive types while they are being defined

6 files changed