Rearrange a few things for cleanliness

This contains is probably more efficient than the
case inside of lists:all/2
Add new specs and fix existing ones.

Dialyzer is happy.