``` {r raskell} do = pure = id = function (a) a; const = function (a) function (ab) a; `%.%` = function (bc, ab) function (a) bc (ab (a)); `%$%` = function (ab, a) ab (a); `%>>%` = function (a, ab) ab (a);
inc = function (n) n + 1; caty = function (a) cat (a, "\n", sep = "");
lhs = function (dump) function (x) do ({ y <- inc (x); z <- caty (y); pure %$% dump (y) (z); });
rhs = function (dump) function (x) { inc (x) %>>% (function (y) dump (y) %$% caty (y)); };
lhs (function (y) function (z) list (y, z)) (123) %>>% print rhs (function (y) function (z) list (y, z)) (123) %>>% print