This fixes a pet peeve of mine - the listlike() function name. It was a bit misleading. Hopefully it should be clearer after this patch.
These two new functions are often handy. As a bonus, they can also check
type validity of items they contain.
The new names match better their purpose. By separating them, it's easy
to pick the right one in different situations. It requires a person to
be familiar with abstract base classes, though (iterable, sequence,
mapping, container, etc).
This patch also improves isinstance() checking on various places and
uses ABCs instead of hardcoded object names (like list, dict, etc).
Are you sure you really want to be testing for sequence here? From what the rest of the code looks like, it seems that list is specifically required, not just any sequence - see line #159