let annotations2state dft = 
    let rec aux = function
      | [] -> dft
      | s :: tl when s = Base.S.true_str -> inject pub (snd (aux tl))
      | s :: tl when s = Base.S.false_str -> inject priv (snd (aux tl))
      | s :: tl when s = S.true_str -> inject (fst (aux tl)) concr
      | s :: tl when s = S.false_str -> inject (fst (aux tl)) abstr
      | _ -> assert false
    in
    aux