@@ -236,20 +236,20 @@ func Apply[F ~func(I) O, I, O any](i I) Fx[F, O] {
236236 return Map (Ctx [F ](), func (f F ) O { return f (i ) })
237237}
238238
239- func Suspend [ A ~ func ( I ) Fx [ B , O ], B , I , O any ](i I ) Fx [And [ A , B ], O ] {
240- return FlatMap (Ctx [A ](), func (a A ) Fx [ B , O ] { return a ( i ) })
239+ func Const [ S , V any ](v V ) Fx [S , V ] {
240+ return Map (Ctx [S ](), func (_ S ) V { return v })
241241}
242242
243- func Handler [A ~ func (I ) Fx [B , O ], B , I , O any ](a A ) func ( Fx [And [A , B ], O ]) Fx [ B , O ] {
244- return func ( e Fx [ And [ A , B ], O ]) Fx [ B , O ] { return ProvideLeft ( e , a ) }
243+ func Handle [A ~ func (I ) Fx [B , O ], B , I , O any ](i I ) Fx [And [A , B ], O ] {
244+ return AndJoin ( Apply [ A ]( i ))
245245}
246246
247- func Handle [ F ~ func (Fx [ A , U ] ) Fx [B , V ], A , B , U , V any ](e Fx [ A , U ]) Fx [And [F , B ], V ] {
248- return FlatMap ( Ctx [ F ](), func ( f F ) Fx [B , V ] { return f ( e ) })
247+ func Handler [ A ~ func (I ) Fx [B , O ], B , I , O any ](a A ) func ( Fx [And [A , B ], O ]) Fx [ B , O ] {
248+ return func ( e Fx [ And [ A , B ], O ] ) Fx [B , O ] { return ProvideLeft ( e , a ) }
249249}
250250
251- func Request [F ~ func (Fx [And [A , B ], O ]) Fx [B , O ], A ~ func (I ) Fx [B , O ], B , I , O any ](i I ) Fx [And [F , B ], O ] {
252- return Handle [F ](Suspend [A ](i ))
251+ func Suspend [F ~ func (Fx [And [A , B ], O ]) Fx [B , O ], A ~ func (I ) Fx [B , O ], B , I , O any ](i I ) Fx [And [F , B ], O ] {
252+ return Handle [F ](Handle [A ](i ))
253253}
254254
255255func Eval [V any ](e Fx [Nil , V ]) V {
0 commit comments