Make use of ASTQType for getMemberType
Avoid requiring local ID on both sides of the map
Typeclass namespace/duplicate def detection