1signature History = 2sig 3 type 'a history 4 5 exception CANT_BACKUP_ANYMORE 6 7 val new_history : {obj:'a, limit:int} -> 'a history 8 val apply : ('a -> 'a) -> 'a history -> 'a history 9 val set_limit : 'a history -> int -> 'a history 10 val initialValue : 'a history -> 'a 11 val remove_past : 'a history -> 'a history 12 val project : ('a -> 'b) -> 'a history -> 'b 13 val undo : 'a history -> 'a history 14 val restore : 'a history -> 'a history 15 val save : 'a history -> 'a history 16 17end 18