Think of it as a composite term which has fields that can be accessed by name, instead of just by index.
Efficiency is lost but ease of use and code clarity is increased greatly.
The number of terms inside TheFunctor. The actual name of the functor, if any. A little extra data riding around with the TermMap. Constructs a TermMap from a string which represents a Functor, but does not populate the TermMap with data. Returns the associated memo.