let clause_to_string ?(pretty:bool = true) (clause: clause) : string =
  "[" ^ String.concat ", " (List.map (literal_to_string ~pretty:pretty) clause) ^ "]"