Zasadniczo chciałbym być w stanie napisać coś takiego: val x :('k1.type, Int) = 'k1 -> 1
val y :('k2.type, Int) = 'k2 -> 2
Gdzie typów X i Y nie są kompatybilne, ale też dzielić się super typ lub m
pracuję z typów danych tego kształtu, używając V z linear: type Foo n = V (n * 3) Double -> Double
Mając to ustalone na n jest bardzo ważne, ponieważ chcę, aby być w stanie zapewnić, że ja przechodz