Strict constructor is available in Mouse

Strict constructor, which will warn unknown (maybe misspelled) arguments, is as useful as the strict pragma. For Moose, there is an extention to provide strict constructor: MooseX::StrictConstructor. Now Mouse 0.50_02 supports strict constructor natively:

package MyClass;
use Mouse;
...;
# note that old Mouse and Moose do not complain about the
# option. They ignore it.
__PACKAGE__->meta->make_immutable(strict_constructor => 1);

The problem, I think, was that strict constructor (provided by MX::StrictConstructor) is too slow to use, but the Mouse strict constructor is as fast as non-strict constructors. The algorithm is that it simply counts "used" arguments and then compares the count with the number of arguments. If the count and the number are different, it indicates that there are unused arguments. This is fast as long as you passes correct arguments.

Native strict constructor is not supported in Moose, but of course, I'd like to Moose to support strict constructor, too. So I'll make a branch to implement it soon.