:- instance to_string(int).
:- instance to_string(string).
:- instance to_string(float).
+:- instance to_string(bitmap.bitmap).
:- instance to_string(bool.bool).
:- instance to_string(maybe.maybe(T)) <= to_string(T).
:- instance to_string(pair.pair(A, B)) <= (to_string(A), to_string(B)).
func(to_string/1) is string.from_float
].
+:- instance to_string(bitmap.bitmap) where [
+ func(to_string/1) is bitmap.to_string
+].
+
:- instance to_string(bool.bool) where [
(to_string(bool.yes) = "bool.yes"),
(to_string(bool.no) = "bool.no")