`reflectOnAssociation` is sort of an odd name, what is the intent of that choice? I think this also shouldn't be public.