F # poprawnie używa pamięci podręcznej sekwencji

Usiłuję użyć Seq.cache z funkcją, którą stworzyłem, która zwraca sekwencję liczb pierwszych do liczby N z wyłączeniem liczby 1. Mam problem z ustaleniem, jak zachować buforowaną sekwencję w zasięgu, ale nadal jej używać w mojej definicji.

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

Jakieś pomysły, w jaki sposób mogę użyć Seq.cache, aby przyspieszyć ten proces? Obecnie spada z zasięgu i spowalnia tylko wydajność.

questionAnswers(3)

yourAnswerToTheQuestion