+ -> let hi_file = ml_hi_file loc
+ boot_hi_file = replaceFilenameSuffix hi_file hiBootExt
+ boot_ver_hi_file = replaceFilenameSuffix hi_file hiBootVerExt
+ in do
+ b <- doesFileExist boot_hi_file
+ if b
+ then return (Just (boot_hi_file, not is_source))
+ else do
+ b <- doesFileExist boot_ver_hi_file
+ if b
+ then return (Just (boot_ver_hi_file, not is_source))
+ else return (Just (hi_file, not is_source))
+