sig
  type 'a monad
  val find_some_books :
    ?page:int ->
    credential:Bookaml_amazon.credential ->
    Bookaml_amazon.criteria ->
    (int * int * Bookaml_book.t list) Bookaml_amazon.ENGINE.monad
  val find_all_books :
    credential:Bookaml_amazon.credential ->
    Bookaml_amazon.criteria ->
    Bookaml_book.t list Bookaml_amazon.ENGINE.monad
  val book_from_isbn :
    credential:Bookaml_amazon.credential ->
    Bookaml_isbn.t -> Bookaml_book.t option Bookaml_amazon.ENGINE.monad
  val book_from_isbn_exn :
    credential:Bookaml_amazon.credential ->
    Bookaml_isbn.t -> Bookaml_book.t Bookaml_amazon.ENGINE.monad
end