Access the third constructor of a sum type.
Where Control.Lens._3 is the third projection out of a product, _I3 is the third
injection into a sum.
The default implementation is the prism to the third constructor of a
Generic type, injection (Proxy :: Proxy 2).
data T = C1 | C2 | C3 Int | C4 deriving (Show, Generic)instance Injection3 T T Int IntC3 1 ^? _I3Just 1
C4 ^? _I3Nothing
_I3 # 1 :: TC3 1
Instances3Injection3
Injection3 Ordering Ordering () ()Defined in either-n-0.1.0.0 · Data.Lens.Injection.Injection3Example1 expression GT ^? _I3Just ()
Example1 expression LT ^? _I3Nothing
Example1 expression EQ ^? _I3Nothing
Example1 expression _I3 # () :: OrderingGT
Injection3 (Either3 a b c) (Either3 a b c') c c'Defined in either-n-0.1.0.0 · Data.Either3.Either3Example1 expression (Third3 "x" :: Either3 Int Bool String) ^? _I3Just "x"
Example1 expression (First3 1 :: Either3 Int Bool String) ^? _I3Nothing
Injection3 (Either3T Identity a b c) (Either3T Identity a b c') c c'Defined in either-n-0.1.0.0 · Data.Either3.Either3TExample1 expression e3 (Third3 1) ^? _I3Just 1
Example1 expression e3 (First3 "x") ^? _I3Nothing