build association tree thing on demand.

`instantiate` is only called once, so there is no reason to cache the
data structure on the instance and mutate itself.
don't access the reflections hash

The reflections hash is supposed to be private, so let's use the API.
this method is only ever called with a reflection

Stop typechecking the parameter.  We know the type.
we know the keys are scalars, so avoid some typechecking