TODO:

Makng subclasses of Mouse::Meta::* immutable breaks the classes.

If one want match_on_type(), it should be supported.

The 'handles' option for has() is not completely compatible with Moose.
