allows you to attach roles to instances, not just classes, with Moose::Util::apply_all_roles($applicant, @roles)
by creating a new anonymous class with the object's previous class as superclass and with the roles applied, and then reblessing the object into that class. Not sure the other role implementations have easily accessible methods to do this.
UPDATE: using Moo::Role
this seems to work bless $object, Moo::Role->create_class_with_roles(blessed $object, @roles);
for less Moo-ness, and import blessed