function size(collection) {
    if (!collection) {
      return 0;
    }
    var length = collection.length;
    return length > -1 && length === length >>> 0 ? length : keys(collection).length;
  }
Gets the size of the `collection` by returning `collection.length` for arrays
and array-like objects or the number of own enumerable properties for objects.

@static
@memberOf _
@category Collections
@param {Array|Object|String} collection The collection to inspect.
@returns {Number} Returns `collection.length` or number of own enumerable properties.
@example

_.size([1, 2]);
// => 2

_.size({ 'one': 1, 'two': 2, 'three': 3 });
// => 3

_.size('curly');
// => 5