I'm a little bit wary of having the return type depend on the input. It seems cleaner to always return a list, even if it forces people to do a lot of `[0]` calls. That is what I proposed, but if you guys think it makes more sense to return a singleton if a singleton is passed, then I'm okay with that. @dengemann @adykstra do you have a preference?