fun foo (wrap : xbody -> transaction page) = wrap Foo fun bar (wrap : xbody -> transaction page) (n : int) = wrap Bar; {[n]} fun baz (n : int) (wrap : xbody -> transaction page) = wrap Baz; {[n]} fun middle (n : int) (wrap : xbody -> transaction page) (m : int) = wrap Middle; {[n]}; {[m]} fun crazy (f : int -> int) (b : bool) (wrap : xbody -> transaction page) (m : int) = wrap Crazy; {[b]}; {[f m]} fun wild (q : bool) (f : int -> int) (n : float) (wrap : xbody -> transaction page) (m : int) = wrap Wild; {[n]}; {[f m]}; {[q]} fun wrap x = return {x} fun wrapN n x = return {[n]}; {x} fun foo2 (wrap : xbody -> transaction page) = wrap Foo fun foo3 (n : int) = wrap Foo fun bar2 (n : int) (wrap : xbody -> transaction page) = wrap Bar; n={[n]} fun bar3 (n : int) = wrap Bar fun main () = return Foo Bar Baz Middle 2 * n) False wrap 2}>Crazy 2 * n) 1.23 wrap 2}>Wild
Foo3 Bar3