forgot to wrap list stuff
add evaluation debugging
make operate throw on non-functions
make operate more efficient
use nil everywhere instead of null
handle the zero-paramater zero-argument case in zip