diff --git a/packages/effect-fc/src/Memoized.ts b/packages/effect-fc/src/Memoized.ts index 6358351..f12ccbf 100644 --- a/packages/effect-fc/src/Memoized.ts +++ b/packages/effect-fc/src/Memoized.ts @@ -25,22 +25,22 @@ export const isMemoized = (u: unknown): u is Memoized => Predicate.hasP export const memo = >( self: T -): T & Memoized> => Object.setPrototypeOf( - Object.assign(function() {}, self, MemoizedProto), - Object.getPrototypeOf(self), +): T & Memoized>> => Object.setPrototypeOf( + Object.assign(function() {}, self), + Object.seal({ ...Object.getPrototypeOf(self), ...MemoizedProto }), ) export const withOptions: { & Memoized>( - options: Partial>> + options: Partial>>> ): (self: T) => T & Memoized>( self: T, - options: Partial>>, + options: Partial>>>, ): T } = Function.dual(2, & Memoized>( self: T, - options: Partial>>, + options: Partial>>>, ): T => Object.setPrototypeOf( Object.assign(function() {}, self, options), Object.getPrototypeOf(self),