By definition, a ReadOnly modifier specifies that a variable or property can be read but not written. However, I have noted that a ReadOnly System.Collections.Generic.Queue Object can be Enqueue-d and Dequeue-d. What does the ReadOnly modifier guard against?