a generic lists type utility