import { overwrite } from "@effect/core/testing/TestAnnotationMap/operations/_internal/overwrite" import { concreteTestAnnotationMap } from "@effect/core/testing/TestAnnotationMap/operations/_internal/TestAnnotationMapInternal" export function update( self: TestAnnotationMap, key: TestAnnotation, f: (value: V) => V ): TestAnnotationMap { concreteTestAnnotationMap(self) return overwrite( self, key, f(self.map.get(key as TestAnnotation).getOrElse(key.initial) as V) ) }