When a module uses a derived type that is shadowed by a generic interface, the module file was missing a USE statement for the name. Detect and handle this situation. Differential Revision: https://reviews.llvm.org/D121160