Lista dividida en dos listas iguales en F #

Soy realmente nuevo en F #, y necesito un poco de ayuda con un problema de F #.

Necesito implementar una función de corte que divida una lista a la mitad para que la salida sea ...

cortar [1; 2; 3; 4; 5; 6] ;;

val it: int list * int list = ([1; 2; 3], [4; 5; 6])

Puedo suponer que la longitud de la lista es par.

También se espera que defina una función auxiliar gencut (n, xs) que corte xs en dos partes, donde n da el tamaño de la primera pieza:

gencut (2, [1; 3; 4; 2; 7; 0; 9]) ;;

val it: int list * int list = ([1; 3], [4; 2; 7; 0; 9])

Normalmente no pediría ayuda para hacer ejercicio aquí, pero realmente no sé por dónde empezar. Cualquier ayuda, incluso si es solo un empujón en la dirección correcta, ayudaría.

¡Gracias!

Respuestas a la pregunta(7)

Su respuesta a la pregunta