let add_spare out_marks max_out =
let rec add_out lst n =
if n < 0 then lst
else if not (List.mem_assoc n lst) then
(n, M.mk_gen_spare) :: (add_out lst (n-1))
else add_out lst (n-1)
in add_out out_marks max_out