Estrutura de dados de janela de tamanho variável imutável em F #

Tenho abaixo uma descrição de uma estrutura de dados de que preciso e quero implementá-la usando estruturas de dados imutáveis. Estou tentando determinar ... existe uma estrutura de dados existente que suporte o que estou tentando fazer aqui ou preciso criar uma - e se precisar criá-la, o que seria bom por onde começar (blocos de construção)?

Eu tenho um fluxo constante de valores recebidos de um determinado tipo. Quero adicioná-los a uma estrutura de dados persistente / imutável para manter um histórico deles e, em cada suplemento, ele revisará o histórico e determinará se um ou mais itens mais antigos serão removidos (por exemplo, se o histórico for> um determinado comprimento ou valor possui uma determinada propriedade).