class Metamodel::ConcreteRoleHOW
        does Metamodel::Naming
        does Metamodel::Versioning
        does Metamodel::PrivateMethodContainer
        does Metamodel::MethodContainer
        does Metamodel::MultiMethodContainer
        does Metamodel::AttributeContainer
        does Metamodel::RoleContainer
        does Metamodel::MultipleInheritance
        does Metamodel::ArrayType
        does Metamodel::Concretization {}

Warning: this class is part of the Rakudo implementation, and is not a part of the language specification.

You can use this to build roles, in the same way that ClassHOW can be used to build classes:

my $a = Metamodel::ConcreteRoleHOW.new_type(name => "Bar");
$a.^compose;
say $a.^roles; # OUTPUT: «(Mu)␤»

The main difference with ClassHOW.new_type is that you can mix-in roles in this newly created one.

This class is Rakudo specific, and provided only for completeness. Not really intended to be used by the final user.