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
...
調査して、シンプルにしたい。