adt-sample3 をコンパイルすると、 bunnyc: renSigDoc $ A.Tycon MyEither となって失敗する。
$ ./test-compile.sh testcases/adt-sample3.hs
source file: testcases/adt-sample3.hs
dst dir: /adt-sample3
doCompile ... done.
implicitPrelude ... done.
doCompile ... bunnyc: do not unified in tyapp:
TAp (TAp (TCon (Tycon "(->)" (Kfun Star (Kfun Star Star)))) (TAp (TAp (TCon (Tycon "Main.MyEither" (Kfun Star (Kfun Star Star)))) (TCon (Tycon "Prelude.Int" Star))) (TCon (Tycon "Prelude.Int" Star)))) (TAp (TCon (Tycon "[]" (Kfun Star Star))) (TCon (Tycon "Prelude.Char" Star)))
TAp (TAp (TCon (Tycon "(->)" (Kfun Star (Kfun Star Star)))) (TAp (TAp (TCon (Tycon "Main.MyEither" (Kfun Star (Kfun Star Star)))) (TCon (Tycon "Prelude.Integer" Star))) (TVar (Tyvar "b" Star)))) (TVar (Tyvar "a2" Star))
CallStack (from HasCallStack):
error, called at src/DictPass.hs:148:12 in main:DictPass
同じ問題なので、Int を Integer に変えるなどすると、通る。
後者は、通ってしまうのだが、これは GHC にかけると NG。通ってはいけないのでは。
044 の対処により、adt-sample3.hs は通るようになり、 通ってはいけないと思われた adt-sample3c.hs は cannot resolve ambiguity で (おそらく)正しくエラーするようになった。
adt-sample3c.hs も test/samples に加えておく (sample158)