Abstract
Structure of a name.
Build names following the structure of this pattern.
Rest
Sets of variables to be replaced into the name.
Iterable of possible names.
Protected
Determine whether a name matches the structure of this pattern.
Input name.
Recognize part of the input name.
Iterable of potential matches.
Convert to a simpler pattern if possible.
Static
Build part of an output name.
Iterable of potential constructions.
Structure of a name.