now displays "list [ empty ]" for empty lists, instead of "list [ heterogeneous ]"