Does this pattern have a name? I would expect something like TermList::add instead.