 
     if tailed? and tailed isnt @tailed
       @tailed = tailed
+      updated = true
+
+    if valid? and valid isnt @valid
+      @valid = valid
       updated = true
 
     if state? and not isEqual(state, @state)

    oldState = @getState()

    updated = false
    {range, reversed, tailed, state} = patch.newParams

    if range? and not range.isEqual(@range)
      @range = range.freeze()

    @tailed

  isValid: ->
    @valid

  getInvalidationStrategy: ->
    @invalidate
