Consider that you’ll need the same type of constraints not only for parameters of constructors or functions, but for vals in traits (and even for defs, but this involves not only require stuff, but ensuring too).
You can see previous related discussion. In particular, this answer mentions the same idea you are talking about, however the whole topic was originally dedicated to another idea (but more or less for the same purpose).