ResolveMemos
This exists because we have to memoize resolved substitutions as we go through the config tree; otherwise we could end up creating multiple copies of values or whole trees of values as we follow chains of substitutions.
class Object
trait Matchable
class Any