自然法は次のように述べています:
t . traverse f == traverse (t . f) -- for every applicative transformer t
法則のRHSの場合、fの型がの場合、関数構成のためApplicative a => x -> a y
、tはの型でなければなりません(Applicative a, Applicative b) => a y -> b y
。
LHSの場合、トラバースfのタイプは(Applicative a, Traversable c) => c x -> a (c y)
です。しかし、トラバースfはtで構成されているためです。トラバースf、tのタイプは(cx-> a(cy))-> b yでなければなりません。
LHSの場合、tの型はa(cy)-> byですが、RHSの型はay-> b yです。タイプの観点から法律はどのように聞こえますか?
編集:LHSのタイプtを修正
LHS控除のtのタイプを修正しました。法律がどのように続いているかはまだわかりません。
—
user4132