Sorry, i didn't realize that the documentation was not clear enough (indeed). apply_all_roles() gives a meta to the instance. For example the class of my $door instance is an anonymous class called 'Moose::Meta::Class::__ANON__::SERIAL::16=HASH(0x9ac4b8)'. I have made tests: each door can be in a different state (i'm lazy to share these: while trying to unapply Roles on more complex examples, i have lost these tests)
But i don't manage to unapply a Role, and i think there's a better way anyway (see message below)