let enclose_parallel = function
    [i] -> i
  | is -> 
      let is = List.rev (topological_sort ~depends:depends_il0 ~defines:defines_il0 is) in
      (* make_il0 (IL0stmtParallel is) *)
      let l = separate_sequence [] is in
      match l with
        [i] -> i
      |        is -> enclose_sequence is