allow creating pairs and singletons in list generation