hunk.code_window:     mapped: U[] = [],
       disposers: (() => void)[] = [],
       len = 0,
       indexes: ((v: number) => number)[] | null = mapFn.length > 1 ? [] : null;
     onCleanup(() => {
       for (let i = 0, length = disposers.length; i < length; i++) disposers[i]();
     });
  
hunk.labels: keep keep keep replace keep keep keep keep
hunk.after_edit:     indexes: ((v: number) => number)[] | null = mapFn.length > 1 ? [] : null,
       ctx = Owner!;
  
hunk.file_path: packages/solid/src/reactive/array.ts
hunk.type: replace
file: import { createRoot, createSignal, createComputed } from "solid-js";
  import { tap } from "../src";
  
  describe("Tap operator", () => {
    test("simple tap", () => {
      createRoot(() => {
        const [s, set] = createSignal("Hi");
        let out: string;
        createComputed(tap(s, t => (out = t + " " + t)));
        expect(out).toBe("Hi Hi");
        set("Lo");
        expect(out).toBe("Lo Lo");
      });
    });
  
    test("simple tap curried", () => {
      createRoot(() => {
        let out: string;
        const [s, set] = createSignal("Hi"),
          repeat = tap(t => (out = t + " " + t));
        createComputed(repeat(s));
        expect(out).toBe("Hi Hi");
        set("Lo");
        expect(out).toBe("Lo Lo");
      });
    });
  });
  