viewl m ≡ m ^. viewL
>>> Seq.fromList [1,2,3] ^. viewL 1 :< fromList [2,3]
>>> Seq.empty ^. viewL EmptyL
>>> EmptyL ^. re viewL fromList []
>>> review viewL $ 1 Seq.:< Seq.fromList [2,3] fromList [1,2,3]
viewr m ≡ m ^. viewR
>>> Seq.fromList [1,2,3] ^. viewR fromList [1,2] :> 3
>>> Seq.empty ^. viewR EmptyR
>>> EmptyR ^. re viewR fromList []
>>> review viewR $ Seq.fromList [1,2] Seq.:> 3 fromList [1,2,3]
>>> let _Right = prism Right $ either (Left . Left) Right
>>> preview _Right (Right 'x') Just 'x'
>>> preview _Right (Left 'y') Nothing
>>> review _Left "hi" Left "hi"