core-typed 2023-08-02

Hello, how would I annotated a data type (`ann-datatype`) which has an argument using a rank-type:

; Haskell equivalent
; data Either a b = Either { unwrap :: forall x. (a -> x) -> (b -> x) -> x }
(defrecord Either [unwrap])

Perhaps something like this:

(t/ann-record [[a :variance :covariant]
               [b :variance :covariant]]
              Either
              [unwrap :- (t/All [x] [[a :-> x] [b :-> x] :-> x])])

oh nice thanks!