úÎ!ü ¤      A total mapp(c) Ed Wastell, 2018MTLedward@wastell.com experimentalNone&'-=>?@AHSVX `TotalMapA ( is a total mapping from some enum type tag to some value a9: it is isomorphic to `tag -> a`. It uses a generics-sop 9 array to store all values, ensuring that every value of tag! must have a corresponding value.TotalMap-Generate all constructors for some enum type.¿TODO: This uses undefined internally as I can not convince the type checker that every constructor has no arguments. This shouldn't be an issue, but feels unsafe so probably should be changedTotalMapA < where each value is its own key. This is the equivalent of .TotalMapExtract a value out of a TotalMapReplace a value inside a TotalMapA Lens into a value of a      'TotalMap-0.1.1.1-58k2yFeZoYpE9wk6afy0BbTotalMap+generics-sop-0.5.0.0-KcRCSh2JEyL6JzNJdcWr49Generics.SOP.Universe IsEnumTypegenerateAllConstructorsallTags getTotalMap setTotalMapixTotal$fShowTotalMap$fShow1TotalMap $fEqTotalMap $fEq1TotalMap$fRepresentableTotalMap$fDistributiveTotalMap!$fTraversableWithIndextagTotalMap$fTraversableTotalMap$fFoldableWithIndextagTotalMap$fFoldableTotalMap$fMonadTotalMap$fApplicativeTotalMap$fFunctorWithIndextagTotalMap$fFunctorTotalMap'sop-core-0.5.0.0-9cKeYbaA4A8Gi6ExvPweAM Data.SOP.NPNPbaseGHC.Baseid