CleanEntityKeys type

Clean entity keys that exclude prototype methods and functions

type CleanEntityKeys<T> = keyof {
  [K in keyof T as T[K] extends Function ? never : K]: T[K]
}