Avoid infinite recursion if the type alias expansion is just a variable
introduce Has{tau,method} constraint, fix some warnings
remove left/right bias of type directed name resolution