sig
  type 'a result = Success of '| Failure of string
  val return : '-> 'Api.Result.result
  val default : '-> 'Api.Result.result -> 'a
  val ( >>= ) :
    'Api.Result.result ->
    ('-> 'Api.Result.result) -> 'Api.Result.result
  val ( <$> ) : ('-> 'b) -> 'Api.Result.result -> 'Api.Result.result
end