record 1 level "optics" (the dot operator) tuple deconstruction and fst snd functions union match expression