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.