Hi,

On 9 June 2011 16:15, Christopher Howard <christopher.howard@frigidcode.com> wrote:
a "trinary" version of Either, i.e., allowing three values instead of two

I'd probably nest Eithers: Either a (Either b c)

You can also do some nicer trickery using the TypeOperators extension:

{-# LANGUAGE TypeOperators #-}

type Or = Either
infixr 5 `Or`

k :: a `Or` b `Or` c -- Same as "Either a (Either b c)"
k = undefined


HTH,
Ozgur