Objects of class ve.dm.Selection currently have a documentModel property. This is misleading because the document model can change after the selection is created, breaking any correspondence between the selection and the document. Instead, the document model should be passed in where used, making the correspondence explicit to the caller.
It also makes it clearer that even though these selections are "immutable", there can be changes to the values returned by methods such as ve.dm.TableSelection#isFullCol .
(The same is also technically true for CE Selections, but that is less misleading, because there is generally less expectation that CE objects will remain valid when a transaction is applied)