Appearance
type CastToEmitValidators<T> = { [K in keyof T]: T[K] extends (args: infer P) => void ? (args: P) => boolean : never; };
T
EmitFunctions
EmitValidators