Expand replaces variable references in the input string according to
the expansion spec using the given mapping function to resolve the
values of variables.
MappingFuncFor returns a mapping function for use with Expand that
implements the expansion semantics defined in the expansion spec; it
returns the input string wrapped in the expansion syntax if no mapping
for the input is found.