fun <~T~T, ~E~E> `T`T.foo(x : `E`E, y : `A`A) : `T`T { y.`+`plus(1) y `+`plus 1 y `+1`+ 1.0 this?.`-`minus(this) this } ~A~class A ~+1~fun `A`A.plus(a : Any) { 1 } ~+~fun `A`A.plus(a : Int) { 1 } ~-~fun T.minus(t : T) : Int = 1