<div dir="ltr">.. actually, I got fg wrong. Caught it by changing g to (/ ):<div><br></div><div><div><br></div><div>f::Fractional f => f -> f -> f</div><div>f = (+)</div><div><br></div><div>g::Fractional g => g -> g</div><div>g a = a / 2</div><div><br></div><div>h::Fractional h => h -> h</div><div>h = (* 10)</div><div><br></div><div><br></div><div>fg::Fractional a =>     a -> a -> a</div><div>fg = f <$> g</div><div>{-  fg a b = (a / 2) + b</div><div>    fg a = \b -> (a / 2) + b</div><div>-}</div><div><br></div><div>fgh::Fractional a =>  a -> a</div><div>fgh = fg <*> h</div><div>{-  fgh a = fg a (a * 10)</div><div>    fgh = \a -> fg a (a * 10)</div><div>-}</div></div><div><br></div>​</div>