function warn(message) {
    if ('console' in window && typeof window.console.warn === 'function') {
      console.warn(message);
    }
  }
Reduce `arr` with `fn`.

@param {Array} arr
@param {Function} fn
@param {Mixed} initial

TODO: combatible error handling?