This supports aliases for types (including interfaces), functions, parameterized types, instance member names, and interface member names. Co-authored-by: Jon Meow <jperkins@google.com>