F # Unveränderliche Fensterdatenstruktur mit variabler Größe

Ich habe unten eine Beschreibung einer Datenstruktur, die ich benötige und die ich mithilfe unveränderlicher Datenstrukturen implementieren möchte. Ich versuche festzustellen, ob eine Datenstruktur vorhanden ist, die das unterstützt, was ich hier zu tun versuche, oder ob ich eine erstellen muss - und wenn ich sie erstellen muss, welche wäre eine gute Startpunkt (Bausteine)?

Ich habe einen stetigen Strom eingehender Werte eines bestimmten Typs. Ich möchte sie zu einer persistenten / unveränderlichen Datenstruktur hinzufügen, um einen Verlauf von ihnen zu speichern. Bei jedem Hinzufügen wird der Verlauf überprüft und festgestellt, ob ein oder mehrere älteste Elemente entfernt werden (z. B. wenn der Verlauf> a ist bestimmte Länge oder ein Wert hat eine bestimmte Eigenschaft.