export function memoize any>(fn: T): T { let result: ReturnType | undefined; let called = false; return ((...args: Parameters) => { if (!called) { result = fn(...args); called = true; } return result!; }) as T; }