method add s =
let insert =
(
if len > 0 then
let p = insert_pos - 1 in
let p = if p < 0 then len - 1 else p in
t.(p) <> s
else
true
)
in
if insert then
(
t.(insert_pos) <- s;
if len >= history_size then () else len <- len + 1;
insert_pos <- (insert_pos + 1) mod history_size
)
else
()