inline fun <V1, V2, R> with(v1: V1, v2: V2, block: context(V1, V2) () -> R) = block(v1, v2)
inline fun <V1, V2, V3, R> with(v1: V1, v2: V2, v3: V3, block: context(V1, V2, V3) () -> R) = block(v1, v2, v3)
inline fun <V1, V2, V3, V4, R> with(v1: V1, v2: V2, v3: V3, v4: V4, block: context(V1, V2, V3, V4) () -> R) = block(v1, v2, v3, v4)