promoted type through collect