Make $1 be the same as $~.not_nil![1] and so on for any n > 0
Added `be` spec expectation
Tiny optimization in named arguments
Raise errors on more cases, like duplicated argument names, type var names, reopening a generic class with other type vars, etc.