IMaybe provides now an overload of ItOrThrows() that accepts a Func<Exception>, so that the exception needs only be created if the maybe doesn't exist. The existing overload has been marked obsolete.