You use `?` in collection.js and `*` here. I'd like to understand how to choose one over the other.