function first(array, n, guard) {
    if (array) {
      return (n == null || guard) ? array[0] : slice.call(array, 0, n);
    }
  }
Gets the first element of the `array`. Pass `n` to return the first `n`
elements of the `array`.

@static
@memberOf _
@alias head, take
@category Arrays
@param {Array} array The array to query.
@param {Number} [n] The number of elements to return.
@param {Object} [guard] Internally used to allow this method to work with
 others like `_.map` without using their callback `index` argument for `n`.
@returns {Mixed} Returns the first element or an array of the first `n`
 elements of `array`.
@example

_.first([5, 4, 3, 2, 1]);
// => 5