code: function traverse(obj, cb) {
          for (var i in obj) {
              cb.apply(this, [i, obj[i]]);
              if (obj[i] !== null && typeof(obj[i]) === 'object') {
                  traverse(obj[i], cb);
              }
          }
      }
docs: util