closes #302 by avoiding two passes over the container when building a list or tuple
pep8
closes #304 by wrapping empty()