It's very confusing that: - `tp.memberType(sym)` gives you back the type of the member `sym` as seen from `tp` - but `sym.memberType(name)` gives you back the symbol of a type member named `name` IMO, we should rename the method on symbol to `typeMember` instead (same with a bunch of other methods on member like `memberField`, etc).