open Base open Core type t val create : unit -> t val record : ?day:Date.t -> t -> mood:Val.t -> t val today : t -> Date.t * Val.t option val this_week : t -> (Date.t * Val.t option) list val this_month : t -> (Date.t * Val.t option) list val this_year : t -> (Date.t * Val.t option) list val of_list : (Date.t * Val.t) list -> t val to_list : t -> (Date.t * Val.t) list val all : t -> (Date.t * Val.t) list val load : string -> t val store : t -> location:string -> unit val pp : t -> string val render : t -> string val random : unit -> t