úÎÚxB      !"#$%&'()*+,-./0123456789:;<=>?@ANone*9:;<=QR*Short-hand type operator for product class%Extensible product typeclass for type)Convenience lens for manipulating productcons-like operator for products   Safe*9:;<=QR  !"#  #"! !"#Safe*9:;<=QR $%&'()*+,-$%&'()* ()*%&'$-,+$%&'()*+,-None*9:;<=QR ./0123456789:./012345 234/01.5:9876 ./0123456789:None *9:;<=QRT=#reverse a string (if it is present)>add one to the integer?iFix a concrete type for the extensible sum | and utilize the two polymorphic functions | foo and bar.@-The concrete type need not be the minimal sumArun the example=>?@A=>?@A=>?@A=>?@AB      !"#$%&'()*+,-.%&/0123456789:;<=>?@ABCDEF,extensible-sp-0.1.0.0-4Ppti6hFW8kAJbwQM8okiGData.Extensible.ProductData.Extensible.Sum2Data.Extensible.Sum1Data.Extensible.SumData.Extensible.Example:>&: ProductClassgrabstash:&:ProdprodLens<&$fProductClass(,,,,)e$fProductClass(,,,,)d$fProductClass(,,,,)c$fProductClass(,,,,)b$fProductClass(,,,,)a$fProductClass(,,,)d$fProductClass(,,,)c$fProductClass(,,,)b$fProductClass(,,,)a$fProductClass(,,)c$fProductClass(,,)b$fProductClass(,,)a$fProductClass(,)b$fProductClass(,)a$fProductClass:&:a$fProductClass:&:b$fProductClassaa $fShow:&::>+:Sum2peek2lft2:+:InLInR $fSum2:+:a $fSum2:+:g$fSum2ff:>||:Sum1peek1lft1:||: $fSum1:||:a $fSum1:||:g$fSum1ff:>|:SumClasspeeklft:|:DataLDataRsumPrism$fSumClassEithera$fSumClassMaybea$fSumClass:|:a$fSumClass:|:b $fSumClassaa $fShow:|:$fEq:|:foobarfoobarfoobar' runExample