fixed reverse logic in contain_empty trait
add zip_tuples