Previously, type aliases were not handled (and resulted in an assertion firing). This patch generalizes the model to consider aliases everywhere (a previous patch already considered aliases for optional-returning functions). Differential Revision: https://reviews.llvm.org/D126972