let rec normalize s =
  if !compactify then gc s else s

and gc s =
  let filter x =  
    not (List.exists (fun i -> mem i s x) Th.all)
  in
  let p' = Partition.gc filter s.p in
    s.p <- p'; s