This hand-rolled utility filters object properties. What is R?type OmitFns<T> = { [K in keyof T as T[K] extends Function ? never : K]: T[K] }; type R = OmitFns<{ id: number; run: () => void; name: string }>;