anchor.diff:    isUnmodifiedMouseEvent: isUnmodifiedMouseEvent
     setTimer: setTimer
     nextFrame: nextFrame
  -  addClass: addClass
  -  removeClass: removeClass
  -  hasClass: hasClass
     writeTemporaryStyle: writeTemporaryStyle
  -  forceRepaint: forceRepaint
  +  paint: paint
     concludeCssTransition: concludeCssTransition
     escapePressed: escapePressed
     contains: contains
  
positive.code:     select array1, (element) ->
        contains(array2, element)
  
    addClass = (element, klassOrKlasses) ->
      changeClassList(element, klassOrKlasses, 'add')
  
    removeClass = (element, klassOrKlasses) ->
      changeClassList(element, klassOrKlasses, 'remove')
  
    changeClassList = (element, klassOrKlasses, fnName) ->
      classList = up.element.get(element).classList
      if isArray(klassOrKlasses)
        each klassOrKlasses, (klass) ->
          classList[fnName](klass)
      else
        classList[fnName](klassOrKlasses)
  
    hasClass = (element, klass) ->
      classList = up.element.get(element).classList
      classList.contains(klass)
  
    ###**
    Waits for the given number of milliseconds, the runs the given callback.
  
  
negative.code:     # Browsers need to paint at least one frame without a transition to stop the
      # animation. In theory we could just wait until the next paint, but in case
      # someone will set another transition after us, let's force a repaint here.
      paint(element)
      return undo
  
      ###**
  