+ check_way <- get bh
+ ignore_way <- readIORef v_IgnoreHiWay
+ build_tag <- readIORef v_Build_tag
+ when (not ignore_way && check_way /= build_tag) $
+ -- use userError because this will be caught by readIface
+ -- which will emit an error msg containing the iface module name.
+ throwDyn (ProgramError (
+ "mismatched interface file ways: expected "
+ ++ build_tag ++ ", found " ++ check_way))
+