try< T >

A way to model a value of type T or a generic error as part of a single datatype.

If a generic error is not appropriate, instead if more specific error details are required ( e.g. HttpError with codes ), either< L, R > might be more suitable.

NOTE: This useful abstraction is described in detail in IPractical Foundations for Programming Languages, also the Scala Try type.