always return lists when appropriate.
r4 says this should match setup.py version