added contains_all to soy.utils