changing generic type to future of either failure or success