PulseResult.Type
for opening locally
type ('ok, 'err) pulse_result = ('ok, 'err) t =
| Ok of 'ok
| Recoverable of 'ok * 'err list
| FatalError of 'err * 'err list