code: def partition(f, xs):
      
      t = type(xs)
      true = filter(f, xs)
      false = [x for x in xs if x not in true]
      return t(true), t(false)
docs: Works similar to filter, except it returns a two-item tuple where the
      first item is the sequence of items that passed the filter and the
      second is a sequence of items that didn't pass the filter