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