Look like vb variant, are not. Emit strong type based on right value, immutable, read-only properties class, aka projection. Punch added: initializing composite types on the fly.