<img width="407" alt="lib_rs_—_reign" src="https://user-images.githubusercontent.com/174703/99147979-56945680-2685-11eb-92bf-d0b29d2714ae.png"> If `a` is of type `A`: * When I type `A`, I get `A` and `A::Foo` * When I type `F`, I get `A::Foo` But as you can see from above image, if `a` is of type `&A` (same issue with `&mut A`): * When I type `A`, I get `A` * When I type `F`, I get neither