@@ -206,7 +206,7 @@ type TryWith =
206206 static member inline TryWith ( _ : unit -> ^t when ^t : null and ^t : struct , _ : exn -> 't , _ : Default1 , _ ) = ()
207207
208208 static member TryWith ( computation : unit -> seq < _ > , catchHandler : exn -> seq < _ > , _ : Default2 , _ ) = seq ( try ( Seq.toArray ( computation ())) with e -> Seq.toArray ( catchHandler e))
209- static member TryWith ( computation : unit -> FSharpPlus.Data. NonEmptySeq< _ >, catchHandler : exn -> FSharpPlus.Data. NonEmptySeq< _ >, _ : Default2 , _ ) = seq ( try ( Seq.toArray ( computation ())) with e -> Seq.toArray ( catchHandler e)) |> FSharpPlus.Data. NonEmptySeq.unsafeOfSeq
209+ static member TryWith ( computation : unit -> NonEmptySeq < _ >, catchHandler : exn -> NonEmptySeq < _ >, _ : Default2 , _ ) = seq ( try ( Seq.toArray ( computation ())) with e -> Seq.toArray ( catchHandler e)) |> NonEmptySeq.unsafeOfSeq
210210 static member TryWith ( computation : unit -> 'R -> _ , catchHandler : exn -> 'R -> _ , _ : Default2 , _ ) = ( fun s -> try ( computation ()) s with e -> catchHandler e s) : 'R -> _
211211 static member TryWith ( computation : unit -> Async < _ > , catchHandler : exn -> Async < _ > , _ : TryWith , _ ) = async.TryWith (( computation ()), catchHandler)
212212 #if ! FABLE_ COMPILER
@@ -218,6 +218,10 @@ type TryWith =
218218 let inline call ( mthd : 'M , input : unit -> 'I , _output : 'R , h : exn -> 'I ) = (( ^M or ^I ) : ( static member TryWith : _*_*_*_ -> _) input, h, mthd, False)
219219 call ( Unchecked.defaultof< TryWith>, ( fun () -> source), Unchecked.defaultof< '`` Monad<'T> `` >, f)
220220
221+ static member inline InvokeFromOtherMonad ( source : unit -> '``Monad < 'T > ``) ( f : exn -> '``Monad < 'T > ``) : '``Monad < 'T > `` =
222+ let inline call ( mthd : 'M , input : unit -> 'I , _output : 'R , h : exn -> 'I ) = (( ^M or ^I ) : ( static member TryWith : _*_*_*_ -> _) input, h, mthd, True)
223+ call ( Unchecked.defaultof< TryWith>, source, Unchecked.defaultof< '`` Monad<'T> `` >, f)
224+
221225 static member inline InvokeForWhile ( source : '``Monad < 'T > ``) ( f : exn -> '``Monad < 'T > ``) : '``Monad < 'T > `` =
222226 let inline call ( mthd : 'M , input : unit -> 'I , _output : 'R , h : exn -> 'I ) = (( ^M or ^I ) : ( static member TryWith : _*_*_*_ -> _) input, h, mthd, While)
223227 call ( Unchecked.defaultof< TryWith>, ( fun () -> source), Unchecked.defaultof< '`` Monad<'T> `` >, f)
@@ -237,7 +241,7 @@ type TryWithS =
237241 static member inline TryWith ( _ : unit -> ^t when ^t : null and ^t : struct , _ : exn -> 't , _ : Default1 , _ ) = ()
238242
239243 static member TryWith ( computation : unit -> seq < _ > , catchHandler : exn -> seq < _ > , _ : Default2 , _ ) = seq ( try ( Seq.toArray ( computation ())) with e -> Seq.toArray ( catchHandler e))
240- static member TryWith ( computation : unit -> FSharpPlus.Data. NonEmptySeq< _ >, catchHandler : exn -> FSharpPlus.Data. NonEmptySeq< _ >, _ : Default2 , _ ) = seq ( try ( Seq.toArray ( computation ())) with e -> Seq.toArray ( catchHandler e)) |> FSharpPlus.Data. NonEmptySeq.unsafeOfSeq
244+ static member TryWith ( computation : unit -> NonEmptySeq < _ >, catchHandler : exn -> NonEmptySeq < _ >, _ : Default2 , _ ) = seq ( try ( Seq.toArray ( computation ())) with e -> Seq.toArray ( catchHandler e)) |> NonEmptySeq.unsafeOfSeq
241245 static member TryWith ( computation : unit -> 'R -> _ , catchHandler : exn -> 'R -> _ , _ : Default2 , _ ) = ( fun s -> try ( computation ()) s with e -> catchHandler e s) : 'R -> _
242246 static member TryWith ( computation : unit -> Async < _ > , catchHandler : exn -> Async < _ > , _ : TryWithS , _ ) = async.TryWith (( computation ()), catchHandler)
243247 #if ! FABLE_ COMPILER
0 commit comments