added some functions to make dealing with nested eithers easier

I'd like combinators for making construction easier (e.g. `(Left (Left (Left (Right c))))`), but these functions handle deconstruction fairly well.