(a + b) * (c + d) wird übersetzt (linearisiert) in
(a + b) * (c + d)
( \ top -> plus a b $ \ x -> plus c d $ \ y -> mal x y top ) ( \ z -> z ) plus x y k = k (x + y) mal x y k = k (x * y)
später tatsächlich als Programmtransformation (Kompilation)