
(** Loads the level data for the deck given, so any
    data in the deck will be overwritten by the data in the
    ~/.cardflasher/data file *)
val load_data : Deck.t -> Deck.t

(** Saves the new level data for the deck, overwriting only
    the appropriate entries in the dotfile *)
val save_data : Deck.t -> unit

(** 
  Chooses a level in the deck, but if there are no cards
  at that level, then chooses the next highest level that
  has cards.  If no cards exist at that level or higher,
  it simply resets to zero and starts incrementing from there.
  Returns the integer for the level it chose *)
val get_level : Deck.t -> int -> int * Deck.t
