Changed the OrElse combinators and the GetOrElse applicators to allow covariance.