code: def need_update(a, b):
      
      a = listify(a)
      b = listify(b)
  
      return any((not op.exists(x)) for x in b) or \
             all((os.stat(x).st_size == 0 for x in b)) or \
             any(is_newer_file(x, y) for x in a for y in b)
docs: Check if file a is newer than file b and decide whether or not to update
      file b. Can generalize to two lists.