Class::MOP
- Traditional MOP only has class metaclasses
- Moose uses metaclasses for other things
- Method metaclass describes a method
- Attribute metaclass describes an attribute
- Instance metaclass describes how to interact with an instance
- (this is where, bless, $self->{attribute} = $new_value happen)
- default is hash, but others have written InsideOut and GlobRef instance metaclasses