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