+ Nothing -> -- Almost always this case is a compiler bug.
+ -- But consider a type signature that doesn't have
+ -- a corresponding binder:
+ -- module M where { f :: Int->Int }
+ -- We use lookupSigOccRn, which uses lookupBndrRn (for good reasons)
+ -- and we don't want to panic. So we report an out-of-scope error
+ failWithRn (mkUnboundName rdr_name)
+ (unknownNameErr rdr_name)