I think these methods (and the methods in `InstanceMethodReference` should be private...thoughts?