let enum_print p oc e =
  let e = BatEnum.clone e in
  for _i = 1 to !enum_print_limit-1 do
    match BatEnum.get e with
      | None -> ()
      | Some x -> p oc x; BatIO.write oc ' '
  done;
  if not (BatEnum.is_empty e) then BatIO.nwrite oc "..."