060 の対処において、元々引数をとらない Num t => t 型の項にも辞書渡しをするよう DictPass を修正したが、元の条件がアドホックで疑わしい。
tcExpr e@(Var (TermVar n (qv :=> t'))) qt -- why ignore qs? | null qv || isArg n {- todo:too suspicious! -} = return e | otherwise = findApplyDict e (qv :=> t') qt where isTVar x@(TVar _) y = True isTVar x y = False notFunTy (TAp (TAp (TCon (Tycon "(->)" _)) _) _) = False notFunTy _ = True isArg ('_':_) = True isArg _ = False ...
調査して、シンプルにしたい。