Ada has ranges and subtypes.
type Angles is 0 .. 360;
subtype Acute_Angles is range Angles'First .. 90;
Subtypes can be used with the parent type without conversions.Pascal only has subranges, iirc.