map(fn, scope) {
    checkPossibilityOfDynamicTraversal('map', this.solvedPath);

    const array = this._get().data,
          l = arguments.length;

    if (!type.array(array))
      throw Error('baobab.Cursor.map: cannot map a non-list type.');

    return array.map(function(item, i) {
      return fn.call(
        l > 1 ? scope : this,
        this.select(i),
        i,
        array
      );
    }, this);
  }
Method mapping the children nodes of the cursor.

@param  {function} fn      - The function to map.
@param  {object}   [scope] - An optional scope.
@return {array}            - The resultant array.