let drop list num = let rec dropInner list num i = match list with | [] -> [] | h :: t when i < num -> h :: dropInner t num (i + 1) | _ :: t when i = num -> dropInner t num 1 | _ -> failwith "error" dropInner list num 1