Resuelve el problema de TypeScript: hay un tipo Response con campos mutuamente excluyentes payload y error, y sus tipos pueden ser diferentes. Necesitas tipar las funciones payloadFrom(response), que devuelve payload o undefined, y errorFrom(response), que devuelve error o undefined, para que los tipos de retorno se infieran automáticamente del Response de entrada.