def foo(field[N] a) -> field[P]: return a def foo(field[P] a) -> field[N]: return a def bar(field[Q] a) -> field[Q]: return foo(a) def main() -> field[1]: return bar([1])