code: function insert (arrayLike, index, element) {
      var result = slice(arrayLike, 0, arrayLike.length);
  
      result.splice(index, 0, element);
  
      return result;
  }
docs: Inserts the provided element in a copy of an array-like object at the
  specified index.<br/>
  If the index is greater than the length of the array-like, the element
  will be appended at the end.<br/>
  Negative indexes are allowed; when a negative index is out of bounds
  the element will be inserted at the start of the resulting array.
  @example
  var arr = [1, 2, 3, 4, 5];
  
  _.insert(arr, 3, 99) // => [1, 2, 3, 99, 4, 5]
  _.insert(arr, -2, 99) // => [1, 2, 3, 99, 4, 5]
  _.insert(arr, 10, 99) // => [1, 2, 3, 4, 5, 99]
  _.insert(arr, -10, 99) // => [99, 1, 2, 3, 4, 5]
  
  @memberof module:lamb
  @category Array
  @see {@link module:lamb.insertAt|insertAt}
  @see {@link module:lamb.sortedInsert|sortedInsert}
  @see {@link module:lamb.append|append}, {@link module:lamb.appendTo|appendTo}
  @since 0.1.0
  @param {ArrayLike} arrayLike
  @param {Number} index
  @param {*} element
  @returns {Array}