let str_partition_dbg table (p : t_partition) : string =
  let rec help str = function
    | c::tail -> help (str^"["^(str_list_dbg table c)^"] ") tail
    | []      -> str
  in
  if p = [] then "empty partition\n" else help "" p