Your language isn't just strongly typed, it's hyper-typed. You've got the same strength that Oracle provides for you with CHECK constraints.
Now, you can provide the same capabilities re: integers between 10 and 20, either with Attribute::Types (as sporty says) or with overload. There are ways. You can even write source filters, if you need to.
We are the carpenters and bricklayers of the Information Age.
Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose