§1.2.2.(h) Externalized creation

A role can be created as externalized using either of these equivalent forms:

outer.new Role()
new Role<@outer>()

This requires the enclosing instance outer to be declared final. The expression has the type Role<@outer> following the rules of externalized roles.
The type Role in this expression must be a simple (unqualified) name.