code: function partition(iterable, predicate=identity) {
    let truths = List(), falsehoods = List()
    for (let value of iterable) {
      if (predicate(value)) {
        truths = truths.push(value)
      } else {
        falsehoods = falsehoods.push(value)
      }
    }
    return List.of(truths, falsehoods)
  }
docs: Creates a list of elements split into two groups, the first of which
  contains elements `predicate` returns truthy for, the second of which
  contains elements `predicate` returns falsey for. The predicate is
  invoked with one argument: (value).
  
  @static
  @memberOf _
  @category iterable
  @param {Iterable} iterable The iterable to iterate over.
  @param {Function} [predicate=_.identity] The function invoked per iteration.
  @returns {List} Returns the list of grouped elements.
  @example
  
  let users = [
  { 'user': 'barney',  'age': 36, 'active': false },
  { 'user': 'fred',    'age': 40, 'active': true },
  { 'user': 'pebbles', 'age': 1,  'active': false }
  ]
  
  _.partition(users, (o) => o.active)
  // => objects for [['fred'], ['barney', 'pebbles']]