function EnqueueTask ( task, args ) {
    if ( typeof setImmediate === 'function' ) {
      setImmediate(function() {
        task.apply(null, args);
      });
    } else {
      setTimeout(function() {
        task.apply(null, args);
      }, 0);
    }
  }
// not a real shim, but good enough
not a real shim, but good enough
not a real shim but good enough
function EnqueueTask ( task, args ) {
    if ( typeof setImmediate === 'function' ) {
      setImmediate(function() {
        task.apply(null, args);
      });
    } else {
      setTimeout(function() {
        task.apply(null, args);
      }, 0);
    }
  }
function EnqueueTask ( task , args ) { if ( typeof setImmediate === 'function' ) { setImmediate ( function ( ) { task . apply ( null , args ) ; } ) ; } else { setTimeout ( function ( ) { task . apply ( null , args ) ; } , 0 ) ; } }
not a real shim, but good enough
not a real shim but good enough