zip utility stolen from python
add memoization function which does not store default values
FIX: print-object should return object
filter implementation for several lists at once