It is very probable that data is an Either[Error, Result]. So you are forced to handle the error.
You could also probably add a mapLeft and deal with an error at every step of computation.
Given the way fp-ts work, this library should be very type safe.
But of course, all of this looks much prettier and less verbose in haskell