F # usando la secuencia de caché correctamente

Estoy tratando de usar Seq.cache con una función que hice que devuelve una secuencia de números primos hasta un número N excluyendo el número 1. Tengo problemas para averiguar cómo mantener la secuencia almacenada en caché en el alcance pero aún así usarlo en mi definicion

let rec primesNot1 n = 
    {2 .. n} 
    |> Seq.filter (fun i -> 
        (primesNot1 (i / 2) |> Seq.for_all (fun o -> i % o <> 0)))
    |> Seq.append {2 .. 2}
    |> Seq.cache

¿Alguna idea de cómo podría usar Seq.cache para hacer esto más rápido? Actualmente, sigue cayendo del alcance y solo está ralentizando el rendimiento.

Respuestas a la pregunta(3)

Su respuesta a la pregunta