let trivial_part (ls : int list) : t_partition =
  let rec trivial_part_rec tas = function
    | x::xs -> trivial_part_rec ([x]::tas) xs
    | [] -> tas
  in
  trivial_part_rec [] ls