Maybe<T>: more changes to keep the original error callstack untouched, and somes fixed for building on .NET 4.0