f1: (t:T, u:U) t+u; f2: (t:T, u:U) t+u; f3: () T+U; f4: () T+U; main: () = { std::cout << "f1: (f1(1,1))$\n"; std::cout << "f2: (f2(2,2))$\n"; std::cout << "f3: (f3<3,3>())$\n"; std::cout << "f4: (f4<4,4>())$\n"; }