Related: How to understand this code that seemingly creates an anonymous type on the fly? - #2 by rdeits