id|T|(x: T): T = x assert id(1) == 1 assert id(True) == True assert id("hello") == "hello" const|T, C|(c: C): (T -> C) = (_: T,) -> c print! const(1)(2) assert const(True)(2) == True print_to_str!|S <: Show|(s: S): Str = print! s s.to_str() discard print_to_str!(1)