diff --git a/packages/effect-fc/src/Lens.ts b/packages/effect-fc/src/Lens.ts
index f7f98c6..1c1fb62 100644
--- a/packages/effect-fc/src/Lens.ts
+++ b/packages/effect-fc/src/Lens.ts
@@ -155,10 +155,17 @@ export const mapStructAt: {
))
export const mapArrayAt: {
+ (
+ self: Lens,
+ index: number,
+ ): Lens
(
self: Lens,
index: number,
): Lens
+ (
+ index: number
+ ): (self: Lens) => Lens
(
index: number
): (self: Lens) => Lens
@@ -289,8 +296,8 @@ export const updateAndGetEffect: {
Effect.gen(function*() {
const ref = yield* SubscriptionRef.make({
- values: [13, 69, 1488]
- })
+ values: [13, 69, 1488] as readonly number[]
+ } as const)
const myValueLens = ref.pipe(
fromSubscriptionRef,
@@ -298,6 +305,8 @@ Effect.gen(function*() {
mapArrayAt(1),
)
+ const myValueLens2 = mapArrayAt(mapStructAt(fromSubscriptionRef(ref), "values"), 1)
+
console.log(yield* ref.get, yield* myValueLens.get)
yield* set(myValueLens, 22)
console.log(yield* ref.get, yield* myValueLens.get)