1 fun 'a
f (x1
: 'a
, x2
: 'a
, aToString
: 'a
-> string): unit
=
3 datatype 'b t
= T
of 'a
* 'b
5 val y1
: int t
= T (x1
, 13)
8 fun 'b
g (T (a
, b
), bToString
: 'b
-> string): unit
=
9 print (concat
[aToString a
, " ", bToString b
, "\n"])
10 val _
= g (y1
, Int.toString
)
11 val _
= g (y2
, fn s
=> s
)
16 val _
= f (true, false, Bool.toString
)