mzgreen
inline fun <T,reified R: Out<T>> testTypeInference(i: In<T>) : R = when(i) { is InInt -> OutInt(i.v + 1) as R is InStr -> OutStr("Hello!" + i.v) as R }