<div dir="ltr"><span style="font-size:14px">> I am not sure  why the constructor is used on the LHS of (2)</span><div><br></div><div><span style="color:rgb(80,0,80);font-size:14px">lift1 :: (a -> a) -> b a -> b a</span></div><div><span style="font-size:14px">lift1 o (MyNum x) = MyNum (o x) </span></div><div><br></div><div>2nd arg to lift1 is b a</div><div><br></div><div>o expects a</div><div><br></div><div>by adding ctor <span style="font-size:14px">(MyNum a), we get to a</span></div><div><br></div><div>lift1 o (b a) = ...<br></div><div><br></div><div>without ctor MyNum, x is b a, not a</div><div>​</div></div>