def apply(option=nil)

      updates, re_applies = @points.partition { |pt| pt.type == :update }
      points = updates + re_applies

      points.each { |pt| pt.apply(@dboard, option) }

      self
    end
def apply(option=nil)

      updates, re_applies = @points.partition { |pt| pt.type == :update }
      points = updates + re_applies

      points.each { |pt| pt.apply(@dboard, option) }

      self
    end
Applies the mutation, :update points first then :re_apply points.

 Accepts an option, nil means apply all, :update means apply only
 update mutations points, :re_apply means apply on re_apply points,
 :force_update means apply all but turn re_apply points into update
 points.