diff --git a/packages/effect-fc/src/Lens.ts b/packages/effect-fc/src/Lens.ts index b0a1dcd..4f5dde2 100644 --- a/packages/effect-fc/src/Lens.ts +++ b/packages/effect-fc/src/Lens.ts @@ -75,8 +75,8 @@ export const map = ( self: Lens, get: (a: A) => B, set: { - (parent: A, b: B): A (b: B): (parent: A) => A + (parent: A, b: B): A }, ): Lens => { const setF = (parent: A, b: B) => set.length >= 2 @@ -88,7 +88,7 @@ export const map = ( changes: Stream.map(self.changes, get), modify: ( f: (b: B) => Effect.Effect - ) => self.modify((a: A) => + ) => self.modify(a => Effect.flatMap(f(get(a)), ([c, next]) => Effect.succeed([c, setF(a, next)] as const)) ), })