fact: Fixpoint nsplit {A} (n : nat) (l : mlist A) : mlist A * mlist A := match n, l with | 0, l => ([m:], l) | S n', x :m: l' => let (l1, l2) := nsplit n' l' in (x :m: l1, l2) | _, _ => ([m:], [m:]) end.
imports: Mtac2(Datatypes List)