XXX: what to do if the values are not present? default
parameter? this is funny because it's always supposed to return
a list, so the default may break that, though it's provided by
the user's code, so it might be okay. If no default is
supplied, should the return be None or []?