https://eacomm.com/blog/on-selecting-projecting-and-choice-collecting/
On selecting, projecting, and choice collecting