type System.Collections.Generic.List<'T> with member this.RemoveAtUnordered(index:int) = this.[index] <- this.[this.Count-1] this.RemoveAt(this.Count-1) member this.RemoveUnordered(item:'T) = let index = this.IndexOf(item) if index <> - 1 then this.RemoveAtUnordered(index)