id|T: Type|(x: T): T = x assert id(1) == 1 assert id(True) == True assert id("hello") == "hello" const|T: Type, C: Type|(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)