@@ -139,7 +139,7 @@ module ComputationExpressions =
139139
140140 SideEffects.reset ()
141141
142- let threeElements : ReaderT < string , list < _ > > = monad.plus {
142+ let threeElements : ReaderT < string , list < __ >, _ > = monad.plus {
143143 let! s = ask
144144 for i in 1 .. 3 do
145145 SideEffects.add ( sprintf " processing %i " i)
@@ -440,7 +440,7 @@ module ComputationExpressions =
440440 // Monad transformers are delayed if at least one of the layers is lazy.
441441 SideEffects.reset ()
442442
443- let readerToptionM : ReaderT < unit , unit option > = monad {
443+ let readerToptionM : ReaderT < unit , __ option , unit > = monad {
444444 use enum = toDebugEnum ( SideEffects.add " using" ; testSeq.GetEnumerator ())
445445 while ( SideEffects.add " moving" ; enum .MoveNext ()) do
446446 SideEffects.add ( sprintf " --> %i " enum .Current) }
@@ -451,7 +451,7 @@ module ComputationExpressions =
451451
452452 SideEffects.reset ()
453453
454- let readerTfuncM : ReaderT < unit , unit -> unit > = monad {
454+ let readerTfuncM : ReaderT < unit , ( unit -> __ ), unit > = monad {
455455 use enum = toDebugEnum ( SideEffects.add " using" ; testSeq.GetEnumerator ())
456456 while ( SideEffects.add " moving" ; enum .MoveNext ()) do
457457 SideEffects.add ( sprintf " --> %i " enum .Current) }
@@ -464,7 +464,7 @@ module ComputationExpressions =
464464
465465 SideEffects.reset ()
466466
467- let readerTtaskM : ReaderT < unit , Task < unit > > = monad {
467+ let readerTtaskM : ReaderT < unit , Task < __ >, unit > = monad {
468468 use enum = toDebugEnum ( SideEffects.add " using" ; testSeq.GetEnumerator ())
469469 while ( SideEffects.add " moving" ; enum .MoveNext ()) do
470470 SideEffects.add ( sprintf " --> %i " enum .Current) }
@@ -546,7 +546,7 @@ module ComputationExpressions =
546546 let _ = strictMonadTest ()
547547
548548 let monadTransformer3layersTest1 () =
549- let x : StateT < string , ReaderT < int , seq <( unit * string )>> > = monad {
549+ let x : StateT < string , ReaderT < int , seq < __ >, __ >, unit > = monad {
550550 try
551551 failwith " Exception in try-with not handled"
552552 ()
@@ -555,7 +555,7 @@ module ComputationExpressions =
555555 let _ = (( monadTransformer3layersTest1 () |> StateT.run) " " |> ReaderT.run) 0 |> Seq.toList
556556
557557 let monadTransformer3layersTest2 () =
558- let x : StateT < string , ReaderT < int , list <( unit * string )>> > = monad {
558+ let x : StateT < string , ReaderT < int , list < __ >, __ >, unit > = monad {
559559 try
560560 failwith " Exception in try-with not handled"
561561 ()
@@ -564,7 +564,7 @@ module ComputationExpressions =
564564 let _ = (( monadTransformer3layersTest2 () |> StateT.run) " " |> ReaderT.run) 0
565565
566566 let monadTransformer3layersTest2 ' () =
567- let x : StateT < string , ReaderT < int , Task <( unit * string )>> > = monad {
567+ let x : StateT < string , ReaderT < int , Task < __ >, __ >, unit > = monad {
568568 try
569569 failwith " Exception in try-with not handled"
570570 ()
@@ -573,33 +573,33 @@ module ComputationExpressions =
573573 let _ = (( monadTransformer3layersTest2' () |> StateT.run) " " |> ReaderT.run) 0
574574
575575 let monadTransformer3layersTest3 () =
576- let x : WriterT < OptionT < seq <( unit * string ) option >> > = monad {
576+ let x : WriterT < string , ResultT < unit , seq< __ >, __ >, unit > = monad {
577577 try
578578 failwith " Exception in try-with not handled"
579579 ()
580580 with _ -> () }
581581 x
582- let _ = monadTransformer3layersTest3 () |> WriterT.run |> OptionT .run |> Seq.toList
582+ let _ = monadTransformer3layersTest3 () |> WriterT.run |> ResultT .run |> Seq.toList
583583
584584 // Same test but with list instead of seq, which makes the whole monad strict
585585 // If .strict is not used it fails compilation with a nice error asking us to add it
586586 let monadTransformer3layersTest4 () =
587- let x : WriterT < OptionT < list <( unit * string ) option >> > = monad.strict {
587+ let x : WriterT < string , ResultT < unit , list< __ >, __ >, unit > = monad.strict {
588588 try
589589 failwith " Exception in try-with not handled"
590590 ()
591591 with _ -> () }
592592 x
593- let _ = monadTransformer3layersTest4 () |> WriterT.run |> OptionT .run
593+ let _ = monadTransformer3layersTest4 () |> WriterT.run |> ResultT .run
594594
595595 let monadTransformer3layersTest5 () =
596- let x : WriterT < OptionT < Task <( unit * string ) option >> > = monad.strict {
596+ let x : WriterT < string , ResultT < unit , Task< __ >, __ >, unit > = monad.strict {
597597 try
598598 failwith " Exception in try-with not handled"
599599 ()
600600 with _ -> () }
601601 x
602- let _ = monadTransformer3layersTest5 () |> WriterT.run |> OptionT .run
602+ let _ = monadTransformer3layersTest5 () |> WriterT.run |> ResultT .run
603603
604604
605605 // ContT doesn't deal with the inner monad, so we don't need to do anything.
@@ -646,7 +646,7 @@ module ComputationExpressions =
646646
647647 let monadTransformer3layersTest1 () =
648648 SideEffects.reset ()
649- let x : StateT < string , ReaderT < int , seq <( unit * string )>> > = monad {
649+ let x : StateT < string , ReaderT < int , seq < __ >, __ >, unit > = monad {
650650 use disp = { new IDisposable with override __.Dispose () = SideEffects.add " Disposing" }
651651 try
652652 failwith " Exception in try-finally"
@@ -659,7 +659,7 @@ module ComputationExpressions =
659659
660660 let monadTransformer3layersTest2 () =
661661 SideEffects.reset ()
662- let x : StateT < string , ReaderT < int , list <( unit * string )>> > = monad {
662+ let x : StateT < string , ReaderT < int , list < __ >, __ >, unit > = monad {
663663 use disp = { new IDisposable with override __.Dispose () = SideEffects.add " Disposing" }
664664 try
665665 failwith " Exception in try-finally"
@@ -672,30 +672,30 @@ module ComputationExpressions =
672672
673673 let monadTransformer3layersTest3 () =
674674 SideEffects.reset ()
675- let x : WriterT < OptionT < seq <( unit * string ) option >> > = monad {
675+ let x : WriterT < string , ResultT < unit , seq< __ >, __ >, unit > = monad {
676676 use disp = { new IDisposable with override __.Dispose () = SideEffects.add " Disposing" }
677677 try
678678 failwith " Exception in try-finally"
679679 ()
680680 finally
681681 SideEffects.add " Finally goes here" }
682682 x
683- let _ = try ( monadTransformer3layersTest3 () |> WriterT.run |> OptionT .run |> Seq.toList) with _ -> Unchecked.defaultof<_>
683+ let _ = try ( monadTransformer3layersTest3 () |> WriterT.run |> ResultT .run |> Seq.toList) with _ -> Unchecked.defaultof<_>
684684 SideEffects.are [ " Finally goes here" ; " Disposing" ]
685685
686686 // Same test but with list instead of seq, which makes the whole monad strict
687687 // If .strict is not used it fails compilation with a nice error asking us to add it
688688 let monadTransformer3layersTest4 () =
689689 SideEffects.reset ()
690- let x : WriterT < OptionT < list <( unit * string ) option >> > = monad.strict {
690+ let x : WriterT < string , ResultT < unit , list< __ >, __ >, unit > = monad.strict {
691691 use disp = { new IDisposable with override __.Dispose () = SideEffects.add " Disposing" }
692692 try
693693 failwith " Exception in try-finally"
694694 ()
695695 finally
696696 SideEffects.add " Finally goes here" }
697697 x
698- let _ = try ( monadTransformer3layersTest4 () |> WriterT.run |> OptionT .run) with _ -> Unchecked.defaultof<_>
698+ let _ = try ( monadTransformer3layersTest4 () |> WriterT.run |> ResultT .run) with _ -> Unchecked.defaultof<_>
699699 SideEffects.are [ " Finally goes here" ; " Disposing" ]
700700
701701 // ContT doesn't deal with the inner monad, so we don't need to do anything.
0 commit comments