import either as E left = E.left right = E.right type Either = E.Either fun f(x :: List) -> List: x end type MyList = List type MyMonoList = List x :: MyList = [list: 1, 2, 3] y :: MyMonoList = [list: 1, 2, 3] type MyEither = Either type MyEither2 = Either x2 :: MyEither = left("a") y2 :: MyEither2 = right(1)