const memo = new Memo();
memo.memoize((a: number, b: number) => a + b)(1, 2);
memo.memoize((a: number, b: number) => a + b)(1, 2);
memo.memoize((c: number, d: number) => c + d)(1, 2);
memo.memoize((a: number, b: number) => a + b)(1, 3);
memo.memoize((a: number, b: number) => a + b)(1, 2);
memo.memoize((c: string, d: string) => [c + d].join("__"))("a", "b");
memo.memoize((c: string, d: string) => [c + d].join("__"))("a", "b");
const memo = new Memo();
memo.memoize((a: number, b: number) => a + b)(1, 2);
memo.memoize((a: number, b: number) => a + b)(1, 2);
memo.memoize((c: number, d: number) => c + d)(1, 2);
memo.memoize((a: number, b: number) => a + b)(1, 3);
memo.memoize((a: number, b: number) => a + b)(1, 2);
memo.memoize((c: string, d: string) => [c + d].join("__"))("a", "b");
memo.memoize((c: string, d: string) => [c + d].join("__"))("a", "b");