fun foo where { T == U } (T x, U y) -> T { return y; } fun main() -> int@ { let x = 3; return foo(x, x) - 3; }