Resolva o problema do TypeScript: há um tipo Response com campos mutuamente exclusivos payload e error, e os seus tipos podem ser diferentes. Precisa de tipar as funções payloadFrom(response), que retorna payload ou undefined, e errorFrom(response), que retorna error ou undefined, para que os tipos de retorno sejam automaticamente inferidos a partir da Response de entrada.