fromEither -> hoistEither