I have this code
function dispatch< T extends string, Out, >( option: Record Out> ): (x: T) => Out { return (x) => (option a