T manam (T foo) { return foo; } bool get_bool () { return true; } T minim_b () { return manam (get_bool ()); } uint32 get_uint32 () { return 23U; } T minim_u () { return manam (get_uint32 ()); } string get_string () { return "bar"; } T minim_s () { return manam (get_string ()); } void main () { { assert (manam (get_bool ()) == true); assert (minim_b () == true); } { assert (manam (get_uint32 ()) == 23U); assert (minim_u () == 23U); } { assert (manam (get_string ()) == "bar"); assert (minim_s () == "bar"); } }