ErrorUnion
pub opaque type Eu(a, b)
pub fn deal( e: Eu(e1, e2), current current: fn(e1) -> a, sequential sequential: fn(e2) -> a, ) -> a
pub fn try( try r: Result(a, e1), apply f: fn(a) -> Result(b, e2), ) -> Result(b, Eu(e1, e2))