如何在 PureScript 中折叠 Either?

How do I collapse an Either in PureScript?

我有一个 Either String (Either String Int) 类型的对象。我想将它折叠成 Either String Int 类型的对象。

PureScript 中是否为此提供了函数?

与Haskell相同:

import Prelude
import Data.Either

let a = Left "a" :: Either String (Either String Int)
let b = Right (Left "b") :: Either String (Either String Int)
let c = Right (Right 123) :: Either String (Either String Int)

join a -- Left "a"
join b -- Left "b"
join c -- Right 123