{-# OPTIONS_GHC -fno-warn-orphans #-}
module Pandora.Paradigm.Structure.Some.Binary where

import Pandora.Core.Functor (type (>), type (>>>), type (>>>>>), type (<))
import Pandora.Core.Interpreted (run, unite, (<~))
import Pandora.Pattern.Semigroupoid ((.))
import Pandora.Pattern.Category ((<--), (<---), (<----), (<-----), (-->))
import Pandora.Pattern.Kernel (constant)
import Pandora.Pattern.Functor.Covariant (Covariant ((<-|-), (<-|---)))
import Pandora.Pattern.Functor.Traversable (Traversable ((<-/-)))
import Pandora.Pattern.Functor.Bindable (Bindable ((=<<), (==<<), (=====<<)))
import Pandora.Pattern.Transformer.Liftable (lift)
import Pandora.Pattern.Transformer.Lowerable (lower)
import Pandora.Pattern.Object.Chain (Chain ((<=>)))
import Pandora.Paradigm.Algebraic.Product ((:*:) ((:*:)), type (<:*:>), (<:*:>), attached)
import Pandora.Paradigm.Algebraic.Exponential ((&), (.:..))
import Pandora.Paradigm.Algebraic.Functor ((<-*---), (-------*), extract, empty, void)
import Pandora.Paradigm.Primary.Auxiliary (Vertical (Up, Down), Horizontal (Left, Right))
import Pandora.Paradigm.Primary.Object.Ordering (order)
import Pandora.Paradigm.Primary.Functor.Exactly (Exactly (Exactly))
import Pandora.Paradigm.Primary.Functor.Maybe (Maybe (Just, Nothing))
import Pandora.Paradigm.Primary.Transformer.Construction (Construction (Construct))
import Pandora.Paradigm.Controlflow.Effect.Transformer ((:>), wrap)
import Pandora.Paradigm.Inventory.Ability.Gettable (get)
import Pandora.Paradigm.Inventory.Some.State (State, change, current)
import Pandora.Paradigm.Inventory.Some.Store (Store (Store))
import Pandora.Paradigm.Inventory.Some.Optics (Lens, Obscure, view, primary)
import Pandora.Paradigm.Inventory (zoom, overlook)
import Pandora.Paradigm.Structure.Modification.Nonempty (Nonempty)
import Pandora.Paradigm.Structure.Ability.Morphable (Morphable (Morphing, morphing), premorph, Morph (Into, Lookup, Key), lookup)
import Pandora.Paradigm.Structure.Ability.Substructure (Substructure (Substance, substructure), Segment (Tree, Root, Branch, Ancestors, Children), Location (Focused), sub)
import Pandora.Paradigm.Structure.Ability.Slidable (Slidable (Sliding, slide))
import Pandora.Paradigm.Structure.Interface.Stack (push, pop)
import Pandora.Paradigm.Structure.Interface.Zipper (Zipper, Zippable (Breadcrumbs, fasten, unfasten))
import Pandora.Paradigm.Structure.Modification.Prefixed (Prefixed)
import Pandora.Paradigm.Structure.Some.List (List)
import Pandora.Paradigm.Schemes (TT (TT), T_U (T_U), P_Q_T (P_Q_T), type (<::>))

type Binary = Maybe <::> Construction (Maybe <:*:> Maybe)

--rebalance :: Chain a => (Wye :. Construction Wye > a) -> Nonempty Binary a
--rebalance (Both x y) = extract x <=> extract y & order
--	# Construct (extract x) (Both # rebalance (deconstruct x) # rebalance (deconstruct y))
--	# Construct (extract y) (Both # x # rebalance (deconstruct y))
--	# Construct (extract x) (Both # rebalance (deconstruct x) # y)

-- instance Morphable Insert Binary where
	-- type Morphing Insert Binary = (Exactly <:.:> Comparison > (:*:)) <:.:> Binary > (->)
	-- morphing struct = case run ---> premorph struct of
		-- Nothing -> T_U <-- \(T_U (Exactly x :*: _)) -> lift <-- point x
		-- Just binary -> T_U <-- \(T_U (Exactly x :*: Convergence f)) ->
			-- let continue xs = run <-- morph @Insert @(Nonempty Binary) xs <--- twosome <-- Exactly x <-- Convergence f in
			-- let step = iff @Just <-|-|- get @(Obscure Lens) <-*-*- modify @(Obscure Lens) continue <-*-*- set @(Obscure Lens) <-- point x in
			-- lift <---- order binary
				-- <--- step <-- sub @Left <-- binary
				-- <--- step <-- sub @Right <-- binary
				-- <--- f x <-- extract binary

-------------------------------------- Non-empty binary tree ---------------------------------------

instance Morphable (Into Binary) (Construction (Maybe <:*:> Maybe)) where
	type Morphing (Into Binary) (Construction (Maybe <:*:> Maybe)) = Binary
	morphing :: (<::>) (Tagged ('Into Binary)) (Construction (Maybe <:*:> Maybe)) a
-> Morphing ('Into Binary) (Construction (Maybe <:*:> Maybe)) a
morphing = Construction (Maybe <:*:> Maybe) a
-> TT
     Covariant Covariant Maybe (Construction (Maybe <:*:> Maybe)) a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Liftable cat t, Covariant cat cat u) =>
cat (u a) (t u a)
lift (Construction (Maybe <:*:> Maybe) a
 -> TT
      Covariant Covariant Maybe (Construction (Maybe <:*:> Maybe)) a)
-> ((<::>)
      (Tagged ('Into Binary)) (Construction (Maybe <:*:> Maybe)) a
    -> Construction (Maybe <:*:> Maybe) a)
-> (<::>)
     (Tagged ('Into Binary)) (Construction (Maybe <:*:> Maybe)) a
-> TT
     Covariant Covariant Maybe (Construction (Maybe <:*:> Maybe)) a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (<::>) (Tagged ('Into Binary)) (Construction (Maybe <:*:> Maybe)) a
-> Construction (Maybe <:*:> Maybe) a
forall k (mod :: k) (struct :: * -> *).
Morphable mod struct =>
(Tagged mod <::> struct) ~> struct
premorph

-- instance Morphable Insert (Construction Wye) where
	-- type Morphing Insert (Construction Wye) = (Exactly <:.:> Comparison > (:*:)) <:.:> Construction Wye > (->)
	-- morphing (premorph -> struct) = T_U <-- \(T_U (Exactly x :*: Convergence f)) ->
		-- let continue xs = run <--- morph @Insert @(Nonempty Binary) xs <---- twosome <--- Exactly x <--- Convergence f in
		-- let step = iff @Just <-|-|- (run .:.. view) <-*-*- mutate continue <-*-*- replace (point x) in
		-- order struct
			-- <---- step <--- sub @Left <--- struct
			-- <---- step <--- sub @Right <--- struct
			-- <---- f x <--- extract struct

-------------------------------------- Prefixed binary tree ----------------------------------------

instance Chain k => Morphable (Lookup Key) (Prefixed Binary k) where
	type Morphing (Lookup Key) (Prefixed Binary k) = (->) k <::> Maybe
	morphing :: (<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
-> Morphing ('Lookup 'Key) (Prefixed Binary k) a
morphing (<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
struct = case TT
  Covariant
  Covariant
  Maybe
  (Construction (Maybe <:*:> Maybe))
  (k :*: a)
-> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a)
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (TT
   Covariant
   Covariant
   Maybe
   (Construction (Maybe <:*:> Maybe))
   (k :*: a)
 -> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a))
-> ((<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
    -> TT
         Covariant
         Covariant
         Maybe
         (Construction (Maybe <:*:> Maybe))
         (k :*: a))
-> (<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
-> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Prefixed Binary k a
-> TT
     Covariant
     Covariant
     Maybe
     (Construction (Maybe <:*:> Maybe))
     (k :*: a)
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (Prefixed Binary k a
 -> TT
      Covariant
      Covariant
      Maybe
      (Construction (Maybe <:*:> Maybe))
      (k :*: a))
-> ((<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
    -> Prefixed Binary k a)
-> (<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
-> TT
     Covariant
     Covariant
     Maybe
     (Construction (Maybe <:*:> Maybe))
     (k :*: a)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
-> Prefixed Binary k a
forall k (mod :: k) (struct :: * -> *).
Morphable mod struct =>
(Tagged mod <::> struct) ~> struct
premorph ((<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
 -> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a))
-> (<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
-> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (<::>) (Tagged ('Lookup 'Key)) (Prefixed Binary k) a
struct of
		(Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a)
Nothing -> (((->) k :. Maybe) >>> a)
-> TT Covariant Covariant ((->) k) Maybe a
forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
TT ((((->) k :. Maybe) >>> a)
 -> TT Covariant Covariant ((->) k) Maybe a)
-> (((->) k :. Maybe) >>> a)
-> TT Covariant Covariant ((->) k) Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- \k
_ -> Maybe a
forall a. Maybe a
Nothing
		Just Construction (Maybe <:*:> Maybe) (k :*: a)
tree -> (((->) k :. Maybe) >>> a)
-> TT Covariant Covariant ((->) k) Maybe a
forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
TT ((((->) k :. Maybe) >>> a)
 -> TT Covariant Covariant ((->) k) Maybe a)
-> (((->) k :. Maybe) >>> a)
-> TT Covariant Covariant ((->) k) Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- \k
key ->
			k
key k -> k -> Ordering
forall a. Chain a => a -> a -> Ordering
<=> (k :*: a) -> k
forall a b. (a :*: b) -> a
attached (Construction (Maybe <:*:> Maybe) (k :*: a) -> k :*: a
forall (t :: * -> *) a. Extractable t => t a -> a
extract Construction (Maybe <:*:> Maybe) (k :*: a)
tree) Ordering -> (Ordering -> Maybe a) -> Maybe a
forall a b. a -> (a -> b) -> b
& Maybe a -> Maybe a -> Maybe a -> Ordering -> Maybe a
forall a. a -> a -> a -> Ordering -> a
order
				(Maybe a -> Maybe a -> Maybe a -> Ordering -> Maybe a)
-> Maybe a -> Maybe a -> Maybe a -> Ordering -> Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- a -> Maybe a
forall a. a -> Maybe a
Just (a -> Maybe a) -> a -> Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
--> (k :*: a) -> a
forall (t :: * -> *) a. Extractable t => t a -> a
extract ((k :*: a) -> a) -> (k :*: a) -> a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
--> Construction (Maybe <:*:> Maybe) (k :*: a) -> k :*: a
forall (t :: * -> *) a. Extractable t => t a -> a
extract Construction (Maybe <:*:> Maybe) (k :*: a)
tree
				(Maybe a -> Maybe a -> Ordering -> Maybe a)
-> Maybe a -> Maybe a -> Ordering -> Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- k
-> TT
     Covariant Covariant (Construction (Maybe <:*:> Maybe)) ((:*:) k) a
-> Maybe a
forall a1 (mod :: a1) key (struct :: * -> *) a2.
Morphed ('Lookup mod) struct ((->) key <::> Maybe) =>
key -> struct a2 -> Maybe a2
lookup @Key k
key (TT
   Covariant Covariant (Construction (Maybe <:*:> Maybe)) ((:*:) k) a
 -> Maybe a)
-> (Construction (Maybe <:*:> Maybe) (k :*: a)
    -> TT
         Covariant Covariant (Construction (Maybe <:*:> Maybe)) ((:*:) k) a)
-> Construction (Maybe <:*:> Maybe) (k :*: a)
-> Maybe a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
forall (t :: * -> *) (t' :: * -> *) a.
((t :. t') >>> a) -> TT Covariant Covariant t t' a
TT @Covariant @Covariant (Construction (Maybe <:*:> Maybe) (k :*: a) -> Maybe a)
-> ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a))
-> Maybe a
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=<< TT
  Covariant
  Covariant
  Maybe
  (Construction (Maybe <:*:> Maybe))
  (k :*: a)
-> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a)
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (Lens Binary (Construction (Maybe <:*:> Maybe) (k :*: a)) (k :*: a)
-> Construction (Maybe <:*:> Maybe) (k :*: a)
-> TT
     Covariant
     Covariant
     Maybe
     (Construction (Maybe <:*:> Maybe))
     (k :*: a)
forall (i :: * -> *) source target.
Lens i source target -> source -> i target
view (Lens Binary (Construction (Maybe <:*:> Maybe) (k :*: a)) (k :*: a)
 -> Construction (Maybe <:*:> Maybe) (k :*: a)
 -> TT
      Covariant
      Covariant
      Maybe
      (Construction (Maybe <:*:> Maybe))
      (k :*: a))
-> Lens
     Binary (Construction (Maybe <:*:> Maybe) (k :*: a)) (k :*: a)
-> Construction (Maybe <:*:> Maybe) (k :*: a)
-> TT
     Covariant
     Covariant
     Maybe
     (Construction (Maybe <:*:> Maybe))
     (k :*: a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure ('Left 'Branch) structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance ('Left 'Branch) structure
sub @(Left Branch) (Construction (Maybe <:*:> Maybe) (k :*: a)
 -> TT
      Covariant
      Covariant
      Maybe
      (Construction (Maybe <:*:> Maybe))
      (k :*: a))
-> Construction (Maybe <:*:> Maybe) (k :*: a)
-> TT
     Covariant
     Covariant
     Maybe
     (Construction (Maybe <:*:> Maybe))
     (k :*: a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- Construction (Maybe <:*:> Maybe) (k :*: a)
tree)
				(Maybe a -> Ordering -> Maybe a) -> Maybe a -> Ordering -> Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- k
-> TT
     Covariant Covariant (Construction (Maybe <:*:> Maybe)) ((:*:) k) a
-> Maybe a
forall a1 (mod :: a1) key (struct :: * -> *) a2.
Morphed ('Lookup mod) struct ((->) key <::> Maybe) =>
key -> struct a2 -> Maybe a2
lookup @Key k
key (TT
   Covariant Covariant (Construction (Maybe <:*:> Maybe)) ((:*:) k) a
 -> Maybe a)
-> (Construction (Maybe <:*:> Maybe) (k :*: a)
    -> TT
         Covariant Covariant (Construction (Maybe <:*:> Maybe)) ((:*:) k) a)
-> Construction (Maybe <:*:> Maybe) (k :*: a)
-> Maybe a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
forall (t :: * -> *) (t' :: * -> *) a.
((t :. t') >>> a) -> TT Covariant Covariant t t' a
TT @Covariant @Covariant (Construction (Maybe <:*:> Maybe) (k :*: a) -> Maybe a)
-> ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a))
-> Maybe a
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=<< TT
  Covariant
  Covariant
  Maybe
  (Construction (Maybe <:*:> Maybe))
  (k :*: a)
-> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> (k :*: a)
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (Lens Binary (Construction (Maybe <:*:> Maybe) (k :*: a)) (k :*: a)
-> Construction (Maybe <:*:> Maybe) (k :*: a)
-> TT
     Covariant
     Covariant
     Maybe
     (Construction (Maybe <:*:> Maybe))
     (k :*: a)
forall (i :: * -> *) source target.
Lens i source target -> source -> i target
view (Lens Binary (Construction (Maybe <:*:> Maybe) (k :*: a)) (k :*: a)
 -> Construction (Maybe <:*:> Maybe) (k :*: a)
 -> TT
      Covariant
      Covariant
      Maybe
      (Construction (Maybe <:*:> Maybe))
      (k :*: a))
-> Lens
     Binary (Construction (Maybe <:*:> Maybe) (k :*: a)) (k :*: a)
-> Construction (Maybe <:*:> Maybe) (k :*: a)
-> TT
     Covariant
     Covariant
     Maybe
     (Construction (Maybe <:*:> Maybe))
     (k :*: a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure ('Right 'Branch) structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance ('Right 'Branch) structure
sub @(Right Branch) (Construction (Maybe <:*:> Maybe) (k :*: a)
 -> TT
      Covariant
      Covariant
      Maybe
      (Construction (Maybe <:*:> Maybe))
      (k :*: a))
-> Construction (Maybe <:*:> Maybe) (k :*: a)
-> TT
     Covariant
     Covariant
     Maybe
     (Construction (Maybe <:*:> Maybe))
     (k :*: a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- Construction (Maybe <:*:> Maybe) (k :*: a)
tree)

-- instance Chain k => Morphable (Vary Element) (Prefixed Binary k) where
	-- type Morphing (Vary Element) (Prefixed Binary k) = ((:*:) k <::> Exactly) <:.:> Prefixed Binary k > (->)
	-- morphing struct = case run . run . premorph ! struct of
		-- Nothing -> T_U ! \(TT (key :*: Exactly value)) -> Prefixed . lift . point ! key :*: value
		-- Just tree -> T_U ! \(TT (key :*: Exactly value)) ->
			-- let continue = ((vary @Element @k @_ @(Prefixed Binary _) key value -#=) -#=) in
			-- Prefixed . lift ! key <=> attached (extract tree) & order
				-- # over (sub @Root) (!!!>- value) tree
				-- # over (sub @Left) continue tree
				-- # over (sub @Right) continue tree

---------------------------------- Prefixed non-empty binary tree ----------------------------------

instance Chain key => Morphable (Lookup Key) (Prefixed < Construction (Maybe <:*:> Maybe) < key) where
	type Morphing (Lookup Key) (Prefixed < Construction (Maybe <:*:> Maybe) < key) = (->) key <::> Maybe
	morphing :: (<::>)
  (Tagged ('Lookup 'Key))
  ((Prefixed < Construction (Maybe <:*:> Maybe)) < key)
  a
-> Morphing
     ('Lookup 'Key)
     ((Prefixed < Construction (Maybe <:*:> Maybe)) < key)
     a
morphing ((<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a
-> Construction (Maybe <:*:> Maybe) (key :*: a)
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run ((<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a
 -> Construction (Maybe <:*:> Maybe) (key :*: a))
-> ((<::>)
      (Tagged ('Lookup 'Key))
      ((Prefixed < Construction (Maybe <:*:> Maybe)) < key)
      a
    -> (<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a)
-> (<::>)
     (Tagged ('Lookup 'Key))
     ((Prefixed < Construction (Maybe <:*:> Maybe)) < key)
     a
-> Construction (Maybe <:*:> Maybe) (key :*: a)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (<::>)
  (Tagged ('Lookup 'Key))
  ((Prefixed < Construction (Maybe <:*:> Maybe)) < key)
  a
-> (<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a
forall k (mod :: k) (struct :: * -> *).
Morphable mod struct =>
(Tagged mod <::> struct) ~> struct
premorph -> Construct key :*: a
x ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
>>> (key :*: a)
xs) = (((->) key :. Maybe) >>> a)
-> TT Covariant Covariant ((->) key) Maybe a
forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
TT ((((->) key :. Maybe) >>> a)
 -> TT Covariant Covariant ((->) key) Maybe a)
-> (((->) key :. Maybe) >>> a)
-> TT Covariant Covariant ((->) key) Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- \key
key ->
		key
key key -> key -> Ordering
forall a. Chain a => a -> a -> Ordering
<=> (key :*: a) -> key
forall a b. (a :*: b) -> a
attached key :*: a
x Ordering -> (Ordering -> Maybe a) -> Maybe a
forall a b. a -> (a -> b) -> b
& Maybe a -> Maybe a -> Maybe a -> Ordering -> Maybe a
forall a. a -> a -> a -> Ordering -> a
order
			(Maybe a -> Maybe a -> Maybe a -> Ordering -> Maybe a)
-> Maybe a -> Maybe a -> Maybe a -> Ordering -> Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<---- a -> Maybe a
forall a. a -> Maybe a
Just (a -> Maybe a) -> a -> Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (key :*: a) -> a
forall (t :: * -> *) a. Extractable t => t a -> a
extract key :*: a
x
			(Maybe a -> Maybe a -> Ordering -> Maybe a)
-> Maybe a -> Maybe a -> Ordering -> Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<---- key
-> (<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a
-> Maybe a
forall a1 (mod :: a1) key (struct :: * -> *) a2.
Morphed ('Lookup mod) struct ((->) key <::> Maybe) =>
key -> struct a2 -> Maybe a2
lookup @Key key
key ((<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a
 -> Maybe a)
-> (Construction (Maybe <:*:> Maybe) (key :*: a)
    -> (<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a)
-> Construction (Maybe <:*:> Maybe) (key :*: a)
-> Maybe a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
forall (t :: * -> *) (t' :: * -> *) a.
((t :. t') >>> a) -> TT Covariant Covariant t t' a
TT @Covariant @Covariant (Construction (Maybe <:*:> Maybe) (key :*: a) -> Maybe a)
-> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a)) -> Maybe a
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
==<< forall e r. Gettable (Obscure Lens) => Getting (Obscure Lens) e r
forall k (i :: k) e r. Gettable i => Getting i e r
get @(Obscure Lens) (Lens
   Maybe
   (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> (key :*: a))
   (Construction (Maybe <:*:> Maybe) (key :*: a))
 -> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
     >>> (key :*: a))
 -> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a)))
-> Lens
     Maybe
     (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
      >>> (key :*: a))
     (Construction (Maybe <:*:> Maybe) (key :*: a))
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> (key :*: a))
-> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure 'Left structure, Covariant (->) (->) structure) =>
structure @>>> Substance 'Left structure
sub @Left ((((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
  >>> (key :*: a))
 -> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a)))
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> (key :*: a))
-> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
>>> (key :*: a)
xs
			(Maybe a -> Ordering -> Maybe a) -> Maybe a -> Ordering -> Maybe a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<---- key
-> (<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a
-> Maybe a
forall a1 (mod :: a1) key (struct :: * -> *) a2.
Morphed ('Lookup mod) struct ((->) key <::> Maybe) =>
key -> struct a2 -> Maybe a2
lookup @Key key
key ((<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a
 -> Maybe a)
-> (Construction (Maybe <:*:> Maybe) (key :*: a)
    -> (<) (Prefixed < Construction (Maybe <:*:> Maybe)) key a)
-> Construction (Maybe <:*:> Maybe) (key :*: a)
-> Maybe a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
forall (t :: * -> *) (t' :: * -> *) a.
((t :. t') >>> a) -> TT Covariant Covariant t t' a
TT @Covariant @Covariant (Construction (Maybe <:*:> Maybe) (key :*: a) -> Maybe a)
-> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a)) -> Maybe a
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
==<< forall e r. Gettable (Obscure Lens) => Getting (Obscure Lens) e r
forall k (i :: k) e r. Gettable i => Getting i e r
get @(Obscure Lens) (Lens
   Maybe
   (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> (key :*: a))
   (Construction (Maybe <:*:> Maybe) (key :*: a))
 -> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
     >>> (key :*: a))
 -> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a)))
-> Lens
     Maybe
     (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
      >>> (key :*: a))
     (Construction (Maybe <:*:> Maybe) (key :*: a))
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> (key :*: a))
-> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure 'Left structure, Covariant (->) (->) structure) =>
structure @>>> Substance 'Left structure
sub @Left ((((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
  >>> (key :*: a))
 -> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a)))
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> (key :*: a))
-> Maybe (Construction (Maybe <:*:> Maybe) (key :*: a))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
>>> (key :*: a)
xs

-------------------------------------- Zipper of binary tree ---------------------------------------

instance Zippable Binary where
	type Breadcrumbs Binary = (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe)
		<:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)
	fasten :: Binary e -> Maybe > Zipper Binary e
fasten (TT (Just (Construct e
x ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e
xs))) = ((Exactly
  <:*:> T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
 >>>>>> e)
-> Maybe
     ((Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      >>>>>> e)
forall a. a -> Maybe a
Just (((Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  >>>>>> e)
 -> Maybe
      ((Exactly
        <:*:> T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
       >>>>>> e))
-> ((Exactly
     <:*:> T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
    >>>>>> e)
-> Maybe
     ((Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      >>>>>> e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<----- e -> Exactly e
forall a. a -> Exactly a
Exactly e
x Exactly e
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     e
-> (Exactly
    <:*:> T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   >>>>>> e
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e)
-> TT
     Covariant
     Covariant
     (Maybe <:*:> Maybe)
     (Construction (Maybe <:*:> Maybe))
     e
forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
TT ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e
xs TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  e
-> TT
     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) e
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     e
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> ((List :. (Horizontal <::> (Exactly <:*:> Binary))) >>> e)
-> TT
     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) e
forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
TT (List :. (Horizontal <::> (Exactly <:*:> Binary))) >>> e
forall (t :: * -> *) a. Emptiable t => t a
empty
	fasten (TT Maybe (Construction (Maybe <:*:> Maybe) e)
Nothing) = Maybe
  (T_U Covariant Covariant (:*:) Exactly (Breadcrumbs Binary) e)
forall a. Maybe a
Nothing
	unfasten :: forall e . Zipper Binary e -> Nonempty Binary e
	unfasten :: Zipper Binary e -> Nonempty Binary e
unfasten (T_U (Exactly e
focus :*: T_U (TT children :*: TT ancestors))) =
		(Construction (Maybe <:*:> Maybe) e
 :*: TT Covariant Covariant Maybe (Construction Maybe) ())
-> Construction (Maybe <:*:> Maybe) e
forall a b. (a :*: b) -> a
attached ((Construction (Maybe <:*:> Maybe) e
  :*: TT Covariant Covariant Maybe (Construction Maybe) ())
 -> Construction (Maybe <:*:> Maybe) e)
-> (Construction (Maybe <:*:> Maybe) e
    :*: TT Covariant Covariant Maybe (Construction Maybe) ())
-> Construction (Maybe <:*:> Maybe) e
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (TT
  Covariant
  Covariant
  Horizontal
  (T_U Covariant Covariant (:*:) Exactly Binary)
  e
-> State (Construction (Maybe <:*:> Maybe) e) ()
(<::>) Horizontal (Exactly <:*:> Binary) e
-> State (Nonempty Binary e) ()
cover ((<::>) Horizontal (Exactly <:*:> Binary) e
 -> State (Construction (Maybe <:*:> Maybe) e) ())
-> TT
     Covariant
     Covariant
     Maybe
     (Construction Maybe)
     ((<::>) Horizontal (Exactly <:*:> Binary) e)
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (TT Covariant Covariant Maybe (Construction Maybe) ())
forall (source :: * -> * -> *) (target :: * -> * -> *)
       (t :: * -> *) (u :: * -> *) a b.
(Traversable source target t, Covariant source target u,
 Monoidal (Straight source) (Straight target) (:*:) (:*:) u) =>
source a (u b) -> target (t a) (u (t b))
<-/- TT
  Covariant
  Covariant
  Maybe
  (Construction Maybe)
  ((<::>) Horizontal (Exactly <:*:> Binary) e)
ancestors) State
  (Construction (Maybe <:*:> Maybe) e)
  (TT Covariant Covariant Maybe (Construction Maybe) ())
-> ((->) (Construction (Maybe <:*:> Maybe) e)
    :. (:*:) (Construction (Maybe <:*:> Maybe) e))
   >>> TT Covariant Covariant Maybe (Construction Maybe) ()
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
<~ e
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (t :: * -> *) a.
a -> ((t :. Construction t) >>> a) -> Construction t a
Construct e
focus ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e
children where

		cover :: (Horizontal <::> (Exactly <:*:> Binary)) e -> State (Nonempty Binary e) ()
		cover :: (<::>) Horizontal (Exactly <:*:> Binary) e
-> State (Nonempty Binary e) ()
cover (TT (Left (T_U (Exactly e
x :*: TT (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
right)))) = State
  (Construction (Maybe <:*:> Maybe) e)
  (Construction (Maybe <:*:> Maybe) e)
-> State (Construction (Maybe <:*:> Maybe) e) ()
forall (t :: * -> *) a. Covariant (->) (->) t => t a -> t ()
void (State
   (Construction (Maybe <:*:> Maybe) e)
   (Construction (Maybe <:*:> Maybe) e)
 -> State (Construction (Maybe <:*:> Maybe) e) ())
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
-> State (Construction (Maybe <:*:> Maybe) e) ()
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (Nonempty Binary e -> Nonempty Binary e)
-> State (Construction (Maybe <:*:> Maybe) e) (Nonempty Binary e)
forall s (t :: * -> *). Stateful s t => (s -> s) -> t s
change @(Nonempty Binary e) (\Nonempty Binary e
nbt -> e
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (t :: * -> *) a.
a -> ((t :. Construction t) >>> a) -> Construction t a
Construct e
x ((((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e)
 -> Construction (Maybe <:*:> Maybe) e)
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<----- Construction (Maybe <:*:> Maybe) e
-> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
forall a. a -> Maybe a
Just Construction (Maybe <:*:> Maybe) e
Nonempty Binary e
nbt ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> e)
-> ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> e)
-> ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
right)
		cover (TT (Right (T_U (Exactly e
x :*: TT (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
left)))) = State
  (Construction (Maybe <:*:> Maybe) e)
  (Construction (Maybe <:*:> Maybe) e)
-> State (Construction (Maybe <:*:> Maybe) e) ()
forall (t :: * -> *) a. Covariant (->) (->) t => t a -> t ()
void (State
   (Construction (Maybe <:*:> Maybe) e)
   (Construction (Maybe <:*:> Maybe) e)
 -> State (Construction (Maybe <:*:> Maybe) e) ())
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
-> State (Construction (Maybe <:*:> Maybe) e) ()
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (Nonempty Binary e -> Nonempty Binary e)
-> State (Construction (Maybe <:*:> Maybe) e) (Nonempty Binary e)
forall s (t :: * -> *). Stateful s t => (s -> s) -> t s
change @(Nonempty Binary e) (\Nonempty Binary e
nbt -> e
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (t :: * -> *) a.
a -> ((t :. Construction t) >>> a) -> Construction t a
Construct e
x ((((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e)
 -> Construction (Maybe <:*:> Maybe) e)
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<----- (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
left ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> e)
-> ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> e)
-> ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> Construction (Maybe <:*:> Maybe) e
-> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
forall a. a -> Maybe a
Just Construction (Maybe <:*:> Maybe) e
Nonempty Binary e
nbt)

instance Substructure Children (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) where
	type Substance Children (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) = (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe)
	substructure :: Lens
  (Substance
     'Children
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant
                 Covariant
                 List
                 (Horizontal <::> (Exactly <:*:> Binary)))))
  ((<:.>)
     (Tagged 'Children)
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a)
  a
substructure = ((<:.>)
   (Tagged 'Children)
   (Exactly
    <:*:> T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Store
      ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
      ((<:.>)
         (Tagged 'Children)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> P_Q_T
     (->)
     Store
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     ((<:.>)
        (Tagged 'Children)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (p :: * -> * -> *) (q :: * -> * -> *) (t :: * -> *) a b.
p a (q (t b) a) -> P_Q_T p q t a b
P_Q_T (((<:.>)
    (Tagged 'Children)
    (Exactly
     <:*:> T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
    a
  -> Store
       ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
       ((<:.>)
          (Tagged 'Children)
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a))
 -> P_Q_T
      (->)
      Store
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      ((<:.>)
         (Tagged 'Children)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
      a)
-> ((<:.>)
      (Tagged 'Children)
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a
    -> Store
         ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
         ((<:.>)
            (Tagged 'Children)
            (Exactly
             <:*:> T_U
                     Covariant
                     Covariant
                     (:*:)
                     (TT
                        Covariant
                        Covariant
                        (Maybe <:*:> Maybe)
                        (Construction (Maybe <:*:> Maybe)))
                     (TT
                        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            a))
-> P_Q_T
     (->)
     Store
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     ((<:.>)
        (Tagged 'Children)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- \(<:.>)
  (Tagged 'Children)
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source -> case forall (t :: * -> *) a.
Interpreted (->) t =>
((->) < t a) < Primary t a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run @(->) (T_U
   Covariant
   Covariant
   (:*:)
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   a
 -> (<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
    :*: TT
          Covariant
          Covariant
          List
          (Horizontal <::> (Exactly <:*:> Binary))
          a)
-> (Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> Exactly a
   :*: ((<::>)
          (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
        :*: TT
              Covariant
              Covariant
              List
              (Horizontal <::> (Exactly <:*:> Binary))
              a)
forall (source :: * -> * -> *) (target :: * -> * -> *)
       (t :: * -> *) a b.
Covariant source target t =>
source a b -> target (t a) (t b)
<-|- T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (<:.>)
  (Tagged 'Children)
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Lowerable cat t, Covariant cat cat u) =>
cat (t u a) (u a)
lower (<:.>)
  (Tagged 'Children)
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source of
		Exactly a
focus :*: (<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
children :*: TT
  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors -> (((:*:)
    ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
  :. (->)
       ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a))
 >>> (<:.>)
       (Tagged 'Children)
       (Exactly
        <:*:> T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
       a)
-> Store
     ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
     ((<:.>)
        (Tagged 'Children)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall s a. (((:*:) s :. (->) s) >>> a) -> Store s a
Store ((((:*:)
     ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
   :. (->)
        ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a))
  >>> (<:.>)
        (Tagged 'Children)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
 -> Store
      ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
      ((<:.>)
         (Tagged 'Children)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> (((:*:)
       ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
     :. (->)
          ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a))
    >>> (<:.>)
          (Tagged 'Children)
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a)
-> Store
     ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
     ((<:.>)
        (Tagged 'Children)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- (<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
children (<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
-> ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
    -> (<:.>)
         (Tagged 'Children)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> ((:*:)
      ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a)
    :. (->)
         ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a))
   >>> (<:.>)
         (Tagged 'Children)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a
forall s a. s -> a -> s :*: a
:*: T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> (<:.>)
     (Tagged 'Children)
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Liftable cat t, Covariant cat cat u) =>
cat (u a) (t u a)
lift (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> (<:.>)
      (Tagged 'Children)
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> (<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
-> (<:.>)
     (Tagged 'Children)
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Exactly a
focus Exactly a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:>) (T_U
   Covariant
   Covariant
   (:*:)
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   a
 -> T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a)
-> (<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. ((<::>) (Maybe <:*:> Maybe) (Construction (Maybe <:*:> Maybe)) a
-> TT
     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> TT
  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors)

instance Substructure (Left Tree) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) where
	type Substance (Left Tree) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) = Maybe <::> Construction (Maybe <:*:> Maybe)
	substructure :: Lens
  (Substance
     ('Left 'Tree)
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant
                 Covariant
                 List
                 (Horizontal <::> (Exactly <:*:> Binary)))))
  ((<:.>)
     (Tagged ('Left 'Tree))
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a)
  a
substructure = ((<:.>)
   (Tagged ('Left 'Tree))
   (Exactly
    <:*:> T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Store
      ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
      ((<:.>)
         (Tagged ('Left 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> P_Q_T
     (->)
     Store
     Binary
     ((<:.>)
        (Tagged ('Left 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (p :: * -> * -> *) (q :: * -> * -> *) (t :: * -> *) a b.
p a (q (t b) a) -> P_Q_T p q t a b
P_Q_T (((<:.>)
    (Tagged ('Left 'Tree))
    (Exactly
     <:*:> T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
    a
  -> Store
       ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
       ((<:.>)
          (Tagged ('Left 'Tree))
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a))
 -> P_Q_T
      (->)
      Store
      Binary
      ((<:.>)
         (Tagged ('Left 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
      a)
-> ((<:.>)
      (Tagged ('Left 'Tree))
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a
    -> Store
         ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
         ((<:.>)
            (Tagged ('Left 'Tree))
            (Exactly
             <:*:> T_U
                     Covariant
                     Covariant
                     (:*:)
                     (TT
                        Covariant
                        Covariant
                        (Maybe <:*:> Maybe)
                        (Construction (Maybe <:*:> Maybe)))
                     (TT
                        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            a))
-> P_Q_T
     (->)
     Store
     Binary
     ((<:.>)
        (Tagged ('Left 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- \(<:.>)
  (Tagged ('Left 'Tree))
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source -> case forall (t :: * -> *) a.
Interpreted (->) t =>
((->) < t a) < Primary t a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run @(->) (T_U
   Covariant
   Covariant
   (:*:)
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   a
 -> TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe))
      a
    :*: TT
          Covariant
          Covariant
          List
          (Horizontal <::> (Exactly <:*:> Binary))
          a)
-> (Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> Exactly a
   :*: (TT
          Covariant
          Covariant
          (Maybe <:*:> Maybe)
          (Construction (Maybe <:*:> Maybe))
          a
        :*: TT
              Covariant
              Covariant
              List
              (Horizontal <::> (Exactly <:*:> Binary))
              a)
forall (source :: * -> * -> *) (target :: * -> * -> *)
       (t :: * -> *) a b.
Covariant source target t =>
source a b -> target (t a) (t b)
<-|- T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (<:.>)
  (Tagged ('Left 'Tree))
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Lowerable cat t, Covariant cat cat u) =>
cat (t u a) (u a)
lower (<:.>)
  (Tagged ('Left 'Tree))
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source of
		Exactly a
focus :*: TT (T_U (Maybe (Construction (Maybe <:*:> Maybe) a)
left :*: Maybe (Construction (Maybe <:*:> Maybe) a)
right)) :*: TT
  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors ->
			(((:*:) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
  :. (->) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a))
 >>> (<:.>)
       (Tagged ('Left 'Tree))
       (Exactly
        <:*:> T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
       a)
-> Store
     ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
     ((<:.>)
        (Tagged ('Left 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall s a. (((:*:) s :. (->) s) >>> a) -> Store s a
Store ((((:*:) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
   :. (->) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a))
  >>> (<:.>)
        (Tagged ('Left 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
 -> Store
      ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
      ((<:.>)
         (Tagged ('Left 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> (((:*:) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
     :. (->) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a))
    >>> (<:.>)
          (Tagged ('Left 'Tree))
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a)
-> Store
     ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
     ((<:.>)
        (Tagged ('Left 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- Maybe (Construction (Maybe <:*:> Maybe) a)
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < Primary t a) < t a
unite Maybe (Construction (Maybe <:*:> Maybe) a)
left (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> (<:.>)
         (Tagged ('Left 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> ((:*:) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
    :. (->) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a))
   >>> (<:.>)
         (Tagged ('Left 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a
forall s a. s -> a -> s :*: a
:*: T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> (<:.>)
     (Tagged ('Left 'Tree))
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Liftable cat t, Covariant cat cat u) =>
cat (u a) (t u a)
lift (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> (<:.>)
      (Tagged ('Left 'Tree))
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> (<:.>)
     (Tagged ('Left 'Tree))
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Exactly a
focus Exactly a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:>) (T_U
   Covariant
   Covariant
   (:*:)
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   a
 -> T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a)
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  a
-> TT
     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> TT
  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors) (TT
   Covariant
   Covariant
   (Maybe <:*:> Maybe)
   (Construction (Maybe <:*:> Maybe))
   a
 -> T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
      a)
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe))
         a)
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. T_U
  Covariant
  Covariant
  (:*:)
  Maybe
  Maybe
  (Construction (Maybe <:*:> Maybe) a)
-> TT
     Covariant
     Covariant
     (Maybe <:*:> Maybe)
     (Construction (Maybe <:*:> Maybe))
     a
forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
TT (T_U
   Covariant
   Covariant
   (:*:)
   Maybe
   Maybe
   (Construction (Maybe <:*:> Maybe) a)
 -> TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe))
      a)
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         Maybe
         Maybe
         (Construction (Maybe <:*:> Maybe) a))
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> TT
     Covariant
     Covariant
     (Maybe <:*:> Maybe)
     (Construction (Maybe <:*:> Maybe))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Maybe (Construction (Maybe <:*:> Maybe) a)
-> Maybe (Construction (Maybe <:*:> Maybe) a)
-> T_U
     Covariant
     Covariant
     (:*:)
     Maybe
     Maybe
     (Construction (Maybe <:*:> Maybe) a)
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> Maybe (Construction (Maybe <:*:> Maybe) a)
right) (Maybe (Construction (Maybe <:*:> Maybe) a)
 -> T_U
      Covariant
      Covariant
      (:*:)
      Maybe
      Maybe
      (Construction (Maybe <:*:> Maybe) a))
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> Maybe (Construction (Maybe <:*:> Maybe) a))
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     Maybe
     Maybe
     (Construction (Maybe <:*:> Maybe) a)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> Maybe (Construction (Maybe <:*:> Maybe) a)
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run

instance Substructure (Right Tree) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) where
	type Substance (Right Tree) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) = Maybe <::> Construction (Maybe <:*:> Maybe)
	substructure :: Lens
  (Substance
     ('Right 'Tree)
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant
                 Covariant
                 List
                 (Horizontal <::> (Exactly <:*:> Binary)))))
  ((<:.>)
     (Tagged ('Right 'Tree))
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a)
  a
substructure = ((<:.>)
   (Tagged ('Right 'Tree))
   (Exactly
    <:*:> T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Store
      ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
      ((<:.>)
         (Tagged ('Right 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> P_Q_T
     (->)
     Store
     Binary
     ((<:.>)
        (Tagged ('Right 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (p :: * -> * -> *) (q :: * -> * -> *) (t :: * -> *) a b.
p a (q (t b) a) -> P_Q_T p q t a b
P_Q_T (((<:.>)
    (Tagged ('Right 'Tree))
    (Exactly
     <:*:> T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
    a
  -> Store
       ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
       ((<:.>)
          (Tagged ('Right 'Tree))
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a))
 -> P_Q_T
      (->)
      Store
      Binary
      ((<:.>)
         (Tagged ('Right 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
      a)
-> ((<:.>)
      (Tagged ('Right 'Tree))
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a
    -> Store
         ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
         ((<:.>)
            (Tagged ('Right 'Tree))
            (Exactly
             <:*:> T_U
                     Covariant
                     Covariant
                     (:*:)
                     (TT
                        Covariant
                        Covariant
                        (Maybe <:*:> Maybe)
                        (Construction (Maybe <:*:> Maybe)))
                     (TT
                        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            a))
-> P_Q_T
     (->)
     Store
     Binary
     ((<:.>)
        (Tagged ('Right 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- \(<:.>)
  (Tagged ('Right 'Tree))
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source -> case forall (t :: * -> *) a.
Interpreted (->) t =>
((->) < t a) < Primary t a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run @(->) (T_U
   Covariant
   Covariant
   (:*:)
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   a
 -> TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe))
      a
    :*: TT
          Covariant
          Covariant
          List
          (Horizontal <::> (Exactly <:*:> Binary))
          a)
-> (Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> Exactly a
   :*: (TT
          Covariant
          Covariant
          (Maybe <:*:> Maybe)
          (Construction (Maybe <:*:> Maybe))
          a
        :*: TT
              Covariant
              Covariant
              List
              (Horizontal <::> (Exactly <:*:> Binary))
              a)
forall (source :: * -> * -> *) (target :: * -> * -> *)
       (t :: * -> *) a b.
Covariant source target t =>
source a b -> target (t a) (t b)
<-|- T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (<:.>)
  (Tagged ('Right 'Tree))
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Lowerable cat t, Covariant cat cat u) =>
cat (t u a) (u a)
lower (<:.>)
  (Tagged ('Right 'Tree))
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source of
		Exactly a
focus :*: TT (T_U (Maybe (Construction (Maybe <:*:> Maybe) a)
left :*: Maybe (Construction (Maybe <:*:> Maybe) a)
right)) :*: TT
  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors ->
			(((:*:) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
  :. (->) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a))
 >>> (<:.>)
       (Tagged ('Right 'Tree))
       (Exactly
        <:*:> T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
       a)
-> Store
     ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
     ((<:.>)
        (Tagged ('Right 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall s a. (((:*:) s :. (->) s) >>> a) -> Store s a
Store ((((:*:) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
   :. (->) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a))
  >>> (<:.>)
        (Tagged ('Right 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
 -> Store
      ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
      ((<:.>)
         (Tagged ('Right 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> (((:*:) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
     :. (->) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a))
    >>> (<:.>)
          (Tagged ('Right 'Tree))
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a)
-> Store
     ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
     ((<:.>)
        (Tagged ('Right 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- Maybe (Construction (Maybe <:*:> Maybe) a)
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < Primary t a) < t a
unite Maybe (Construction (Maybe <:*:> Maybe) a)
right (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> (<:.>)
         (Tagged ('Right 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> ((:*:) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a)
    :. (->) ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a))
   >>> (<:.>)
         (Tagged ('Right 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a
forall s a. s -> a -> s :*: a
:*: T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> (<:.>)
     (Tagged ('Right 'Tree))
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Liftable cat t, Covariant cat cat u) =>
cat (u a) (t u a)
lift (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> (<:.>)
      (Tagged ('Right 'Tree))
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> (<:.>)
     (Tagged ('Right 'Tree))
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Exactly a
focus Exactly a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:>) (T_U
   Covariant
   Covariant
   (:*:)
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   a
 -> T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a)
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  a
-> TT
     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> TT
  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors) (TT
   Covariant
   Covariant
   (Maybe <:*:> Maybe)
   (Construction (Maybe <:*:> Maybe))
   a
 -> T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
      a)
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe))
         a)
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. T_U
  Covariant
  Covariant
  (:*:)
  Maybe
  Maybe
  (Construction (Maybe <:*:> Maybe) a)
-> TT
     Covariant
     Covariant
     (Maybe <:*:> Maybe)
     (Construction (Maybe <:*:> Maybe))
     a
forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
TT (T_U
   Covariant
   Covariant
   (:*:)
   Maybe
   Maybe
   (Construction (Maybe <:*:> Maybe) a)
 -> TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe))
      a)
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         Maybe
         Maybe
         (Construction (Maybe <:*:> Maybe) a))
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> TT
     Covariant
     Covariant
     (Maybe <:*:> Maybe)
     (Construction (Maybe <:*:> Maybe))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Maybe (Construction (Maybe <:*:> Maybe) a)
left Maybe (Construction (Maybe <:*:> Maybe) a)
-> Maybe (Construction (Maybe <:*:> Maybe) a)
-> T_U
     Covariant
     Covariant
     (:*:)
     Maybe
     Maybe
     (Construction (Maybe <:*:> Maybe) a)
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:>) (Maybe (Construction (Maybe <:*:> Maybe) a)
 -> T_U
      Covariant
      Covariant
      (:*:)
      Maybe
      Maybe
      (Construction (Maybe <:*:> Maybe) a))
-> ((<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
    -> Maybe (Construction (Maybe <:*:> Maybe) a))
-> (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     Maybe
     Maybe
     (Construction (Maybe <:*:> Maybe) a)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (<::>) Maybe (Construction (Maybe <:*:> Maybe)) a
-> Maybe (Construction (Maybe <:*:> Maybe) a)
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run

instance Substructure Ancestors (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) where
	type Substance Ancestors (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) = List <::> Horizontal <::> (Exactly <:*:> Binary)
	substructure :: Lens
  (Substance
     'Ancestors
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant
                 Covariant
                 List
                 (Horizontal <::> (Exactly <:*:> Binary)))))
  ((<:.>)
     (Tagged 'Ancestors)
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a)
  a
substructure = ((<:.>)
   (Tagged 'Ancestors)
   (Exactly
    <:*:> T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Store
      ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
      ((<:.>)
         (Tagged 'Ancestors)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> P_Q_T
     (->)
     Store
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     ((<:.>)
        (Tagged 'Ancestors)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (p :: * -> * -> *) (q :: * -> * -> *) (t :: * -> *) a b.
p a (q (t b) a) -> P_Q_T p q t a b
P_Q_T (((<:.>)
    (Tagged 'Ancestors)
    (Exactly
     <:*:> T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
    a
  -> Store
       ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
       ((<:.>)
          (Tagged 'Ancestors)
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a))
 -> P_Q_T
      (->)
      Store
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
      ((<:.>)
         (Tagged 'Ancestors)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
      a)
-> ((<:.>)
      (Tagged 'Ancestors)
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a
    -> Store
         ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
         ((<:.>)
            (Tagged 'Ancestors)
            (Exactly
             <:*:> T_U
                     Covariant
                     Covariant
                     (:*:)
                     (TT
                        Covariant
                        Covariant
                        (Maybe <:*:> Maybe)
                        (Construction (Maybe <:*:> Maybe)))
                     (TT
                        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            a))
-> P_Q_T
     (->)
     Store
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     ((<:.>)
        (Tagged 'Ancestors)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- \(<:.>)
  (Tagged 'Ancestors)
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source -> case forall (t :: * -> *) a.
Interpreted (->) t =>
((->) < t a) < Primary t a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run @(->) (T_U
   Covariant
   Covariant
   (:*:)
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   a
 -> TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe))
      a
    :*: (<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
-> (Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> Exactly a
   :*: (TT
          Covariant
          Covariant
          (Maybe <:*:> Maybe)
          (Construction (Maybe <:*:> Maybe))
          a
        :*: (<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
forall (source :: * -> * -> *) (target :: * -> * -> *)
       (t :: * -> *) a b.
Covariant source target t =>
source a b -> target (t a) (t b)
<-|- T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (<:.>)
  (Tagged 'Ancestors)
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Lowerable cat t, Covariant cat cat u) =>
cat (t u a) (u a)
lower (<:.>)
  (Tagged 'Ancestors)
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source of
		Exactly a
focus :*: TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  a
children :*: (<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors -> (((:*:) ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
  :. (->) ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a))
 >>> (<:.>)
       (Tagged 'Ancestors)
       (Exactly
        <:*:> T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
       a)
-> Store
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
     ((<:.>)
        (Tagged 'Ancestors)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall s a. (((:*:) s :. (->) s) >>> a) -> Store s a
Store ((((:*:) ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
   :. (->) ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a))
  >>> (<:.>)
        (Tagged 'Ancestors)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
 -> Store
      ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
      ((<:.>)
         (Tagged 'Ancestors)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> (((:*:) ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
     :. (->) ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a))
    >>> (<:.>)
          (Tagged 'Ancestors)
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a)
-> Store
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
     ((<:.>)
        (Tagged 'Ancestors)
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- (<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors (<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a
-> ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a
    -> (<:.>)
         (Tagged 'Ancestors)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> ((:*:) ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a)
    :. (->) ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a))
   >>> (<:.>)
         (Tagged 'Ancestors)
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a
forall s a. s -> a -> s :*: a
:*: T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> (<:.>)
     (Tagged 'Ancestors)
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Liftable cat t, Covariant cat cat u) =>
cat (u a) (t u a)
lift (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> (<:.>)
      (Tagged 'Ancestors)
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> (<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a
-> (<:.>)
     (Tagged 'Ancestors)
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Exactly a
focus Exactly a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:>) (T_U
   Covariant
   Covariant
   (:*:)
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   a
 -> T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a)
-> (<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  a
children TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  a
-> (<::>) List (Horizontal <::> (Exactly <:*:> Binary)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:>)

instance Substructure (Focused Tree) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) where
	type Substance (Focused Tree) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) = Construction (Maybe <:*:> Maybe)
	substructure :: Lens
  (Substance
     ('Focused 'Tree)
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant
                 Covariant
                 List
                 (Horizontal <::> (Exactly <:*:> Binary)))))
  ((<:.>)
     (Tagged ('Focused 'Tree))
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a)
  a
substructure = ((<:.>)
   (Tagged ('Focused 'Tree))
   (Exactly
    <:*:> T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Store
      (Construction (Maybe <:*:> Maybe) a)
      ((<:.>)
         (Tagged ('Focused 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> P_Q_T
     (->)
     Store
     (Construction (Maybe <:*:> Maybe))
     ((<:.>)
        (Tagged ('Focused 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (p :: * -> * -> *) (q :: * -> * -> *) (t :: * -> *) a b.
p a (q (t b) a) -> P_Q_T p q t a b
P_Q_T (((<:.>)
    (Tagged ('Focused 'Tree))
    (Exactly
     <:*:> T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
    a
  -> Store
       (Construction (Maybe <:*:> Maybe) a)
       ((<:.>)
          (Tagged ('Focused 'Tree))
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a))
 -> P_Q_T
      (->)
      Store
      (Construction (Maybe <:*:> Maybe))
      ((<:.>)
         (Tagged ('Focused 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
      a)
-> ((<:.>)
      (Tagged ('Focused 'Tree))
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a
    -> Store
         (Construction (Maybe <:*:> Maybe) a)
         ((<:.>)
            (Tagged ('Focused 'Tree))
            (Exactly
             <:*:> T_U
                     Covariant
                     Covariant
                     (:*:)
                     (TT
                        Covariant
                        Covariant
                        (Maybe <:*:> Maybe)
                        (Construction (Maybe <:*:> Maybe)))
                     (TT
                        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            a))
-> P_Q_T
     (->)
     Store
     (Construction (Maybe <:*:> Maybe))
     ((<:.>)
        (Tagged ('Focused 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
     a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- \(<:.>)
  (Tagged ('Focused 'Tree))
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source -> case forall (t :: * -> *) a.
Interpreted (->) t =>
((->) < t a) < Primary t a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run @(->) (T_U
   Covariant
   Covariant
   (:*:)
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   a
 -> TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe))
      a
    :*: TT
          Covariant
          Covariant
          List
          (Horizontal <::> (Exactly <:*:> Binary))
          a)
-> (Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> Exactly a
   :*: (TT
          Covariant
          Covariant
          (Maybe <:*:> Maybe)
          (Construction (Maybe <:*:> Maybe))
          a
        :*: TT
              Covariant
              Covariant
              List
              (Horizontal <::> (Exactly <:*:> Binary))
              a)
forall (source :: * -> * -> *) (target :: * -> * -> *)
       (t :: * -> *) a b.
Covariant source target t =>
source a b -> target (t a) (t b)
<-|- T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- (<:.>)
  (Tagged ('Focused 'Tree))
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Lowerable cat t, Covariant cat cat u) =>
cat (t u a) (u a)
lower (<:.>)
  (Tagged ('Focused 'Tree))
  (Exactly
   <:*:> T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
source of
		Exactly a
focus :*: TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  a
children :*: TT
  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors -> (((:*:) (Construction (Maybe <:*:> Maybe) a)
  :. (->) (Construction (Maybe <:*:> Maybe) a))
 >>> (<:.>)
       (Tagged ('Focused 'Tree))
       (Exactly
        <:*:> T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
       a)
-> Store
     (Construction (Maybe <:*:> Maybe) a)
     ((<:.>)
        (Tagged ('Focused 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall s a. (((:*:) s :. (->) s) >>> a) -> Store s a
Store
			((((:*:) (Construction (Maybe <:*:> Maybe) a)
   :. (->) (Construction (Maybe <:*:> Maybe) a))
  >>> (<:.>)
        (Tagged ('Focused 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
 -> Store
      (Construction (Maybe <:*:> Maybe) a)
      ((<:.>)
         (Tagged ('Focused 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a))
-> (((:*:) (Construction (Maybe <:*:> Maybe) a)
     :. (->) (Construction (Maybe <:*:> Maybe) a))
    >>> (<:.>)
          (Tagged ('Focused 'Tree))
          (Exactly
           <:*:> T_U
                   Covariant
                   Covariant
                   (:*:)
                   (TT
                      Covariant
                      Covariant
                      (Maybe <:*:> Maybe)
                      (Construction (Maybe <:*:> Maybe)))
                   (TT
                      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          a)
-> Store
     (Construction (Maybe <:*:> Maybe) a)
     ((<:.>)
        (Tagged ('Focused 'Tree))
        (Exactly
         <:*:> T_U
                 Covariant
                 Covariant
                 (:*:)
                 (TT
                    Covariant
                    Covariant
                    (Maybe <:*:> Maybe)
                    (Construction (Maybe <:*:> Maybe)))
                 (TT
                    Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        a)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- (a
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> a)
-> Construction (Maybe <:*:> Maybe) a
forall (t :: * -> *) a.
a -> ((t :. Construction t) >>> a) -> Construction t a
Construct (a
 -> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
     >>> a)
 -> Construction (Maybe <:*:> Maybe) a)
-> a
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> a)
-> Construction (Maybe <:*:> Maybe) a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- Exactly a -> a
forall (t :: * -> *) a. Extractable t => t a -> a
extract Exactly a
focus ((((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> a)
 -> Construction (Maybe <:*:> Maybe) a)
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> a)
-> Construction (Maybe <:*:> Maybe) a
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  a
-> ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  a
children)
				Construction (Maybe <:*:> Maybe) a
-> (Construction (Maybe <:*:> Maybe) a
    -> (<:.>)
         (Tagged ('Focused 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> ((:*:) (Construction (Maybe <:*:> Maybe) a)
    :. (->) (Construction (Maybe <:*:> Maybe) a))
   >>> (<:.>)
         (Tagged ('Focused 'Tree))
         (Exactly
          <:*:> T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a
forall s a. s -> a -> s :*: a
:*: T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
  a
-> (<:.>)
     (Tagged ('Focused 'Tree))
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Liftable cat t, Covariant cat cat u) =>
cat (u a) (t u a)
lift (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
   a
 -> (<:.>)
      (Tagged ('Focused 'Tree))
      (Exactly
       <:*:> T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> (Construction (Maybe <:*:> Maybe) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         a)
-> Construction (Maybe <:*:> Maybe) a
-> (<:.>)
     (Tagged ('Focused 'Tree))
     (Exactly
      <:*:> T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Exactly a
 :*: T_U
       Covariant
       Covariant
       (:*:)
       (TT
          Covariant
          Covariant
          (Maybe <:*:> Maybe)
          (Construction (Maybe <:*:> Maybe)))
       (TT
          Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
       a)
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall k k k k k (ct :: k) (cu :: k) (p :: k -> k -> *)
       (t :: k -> k) (u :: k -> k) (a :: k).
p (t a) (u a) -> T_U ct cu p t u a
T_U ((Exactly a
  :*: T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
        a)
 -> T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      a)
-> (Construction (Maybe <:*:> Maybe) a
    -> Exactly a
       :*: T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
             a)
-> Construction (Maybe <:*:> Maybe) a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. ((TT
  Covariant
  Covariant
  (Maybe <:*:> Maybe)
  (Construction (Maybe <:*:> Maybe))
  a
-> TT
     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
-> T_U
     Covariant
     Covariant
     (:*:)
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     a
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> TT
  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)) a
ancestors) (TT
   Covariant
   Covariant
   (Maybe <:*:> Maybe)
   (Construction (Maybe <:*:> Maybe))
   a
 -> T_U
      Covariant
      Covariant
      (:*:)
      (TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe)))
      (TT
         Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
      a)
-> (Exactly a
    :*: TT
          Covariant
          Covariant
          (Maybe <:*:> Maybe)
          (Construction (Maybe <:*:> Maybe))
          a)
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (source :: * -> * -> *) (target :: * -> * -> *)
       (t :: * -> *) a b.
Covariant source target t =>
source a b -> target (t a) (t b)
<-|-) ((Exactly a
  :*: TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe))
        a)
 -> Exactly a
    :*: T_U
          Covariant
          Covariant
          (:*:)
          (TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe)))
          (TT
             Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
          a)
-> (Construction (Maybe <:*:> Maybe) a
    -> Exactly a
       :*: TT
             Covariant
             Covariant
             (Maybe <:*:> Maybe)
             (Construction (Maybe <:*:> Maybe))
             a)
-> Construction (Maybe <:*:> Maybe) a
-> Exactly a
   :*: T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
         a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. T_U
  Covariant
  Covariant
  (:*:)
  Exactly
  (TT
     Covariant
     Covariant
     (Maybe <:*:> Maybe)
     (Construction (Maybe <:*:> Maybe)))
  a
-> Exactly a
   :*: TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe))
         a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (T_U
   Covariant
   Covariant
   (:*:)
   Exactly
   (TT
      Covariant
      Covariant
      (Maybe <:*:> Maybe)
      (Construction (Maybe <:*:> Maybe)))
   a
 -> Exactly a
    :*: TT
          Covariant
          Covariant
          (Maybe <:*:> Maybe)
          (Construction (Maybe <:*:> Maybe))
          a)
-> (Construction (Maybe <:*:> Maybe) a
    -> T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         a)
-> Construction (Maybe <:*:> Maybe) a
-> Exactly a
   :*: TT
         Covariant
         Covariant
         (Maybe <:*:> Maybe)
         (Construction (Maybe <:*:> Maybe))
         a
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Construction (Maybe <:*:> Maybe) a
-> T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (TT
        Covariant
        Covariant
        (Maybe <:*:> Maybe)
        (Construction (Maybe <:*:> Maybe)))
     a
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run

instance Slidable (Down Left) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) where
	type Sliding (Down Left) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) = Maybe
	slide :: forall e . State > Zipper Binary e :> Maybe >>> ()
	slide :: ((State > Zipper Binary e) :> Maybe) >>> ()
slide = ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Exactly
       (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
    -> State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e)
         (Exactly
            (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Lens
  (TT
     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
  (T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     e)
  e
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom (forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure 'Ancestors structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance 'Ancestors structure
sub @Ancestors) (State
   ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
   (Exactly
      (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
    -> State
         ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
         (Exactly
            (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Lens
  Exactly
  ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
  (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> State
     (Exactly
        (List
           (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom Lens
  Exactly
  ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
  (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (t :: * -> *) a.
Interpreted (->) t =>
(Lens Exactly < t a) < Primary t a
primary (State
   (Exactly
      (List
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
   (Exactly
      (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
 -> State
      ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
    -> State
         (Exactly
            (List
               (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
         (Exactly
            (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. State
  (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
  (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> State
     (Exactly
        (List
           (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (t :: * -> *) s result.
(Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) =>
State s result -> State (t s) (t result)
overlook (State
   (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
   (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
 -> State
      (Exactly
         (List
            (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
    -> State
         (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
-> State
     (Exactly
        (List
           (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. forall e. Stack List => e -> (State < List e) < e
forall (structure :: * -> *) e.
Stack structure =>
e -> (State < structure e) < e
push @List
			-- TODO: Try to use Semimonoidal instance for lenses
			(TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=====<< ((Horizontal :. (Exactly <:*:> Binary)) >>> e)
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
TT (((Horizontal :. (Exactly <:*:> Binary)) >>> e)
 -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (T_U Covariant Covariant (:*:) Exactly Binary e
    -> (Horizontal :. (Exactly <:*:> Binary)) >>> e)
-> T_U Covariant Covariant (:*:) Exactly Binary e
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. T_U Covariant Covariant (:*:) Exactly Binary e
-> (Horizontal :. (Exactly <:*:> Binary)) >>> e
forall a. a -> Horizontal a
Right (T_U Covariant Covariant (:*:) Exactly Binary e
 -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (Exactly e
    -> Binary e -> T_U Covariant Covariant (:*:) Exactly Binary e)
-> Exactly e
-> Binary e
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
forall (target :: * -> * -> *) (v :: * -> * -> *) a c d b.
(Covariant (->) target (v a), Semigroupoid v) =>
v c d -> target (v a (v b c)) (v a (v b d))
.:.. Exactly e
-> Binary e -> T_U Covariant Covariant (:*:) Exactly Binary e
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
(<:*:>)
				(Exactly e
 -> Binary e
 -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e
      -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
forall (source :: * -> * -> *) (target :: * -> * -> *)
       (t :: * -> *) a b.
Covariant source target t =>
source a b -> target (t a) (t b)
<-|--- ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly e))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Exactly e)
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly e))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly e))
-> ((->)
    < State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e)
        (Exactly e))
   < (:>)
       (State
          (T_U
             Covariant
             Covariant
             (:*:)
             Exactly
             (T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
             e))
       Maybe
       (Exactly e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- Lens
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     e)
  e
-> State (Exactly e) (Exactly e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly e)
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom (Lens
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      e)
   e
 -> State (Exactly e) (Exactly e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly e))
-> Lens
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     e
-> State (Exactly e) (Exactly e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure 'Root structure, Covariant (->) (->) structure) =>
structure @>>> Substance 'Root structure
sub @Root (State (Exactly e) (Exactly e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly e))
-> State (Exactly e) (Exactly e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- State (Exactly e) (Exactly e)
forall s (t :: * -> *). Stateful s t => t s
current
				(:>)
  (State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e))
  Maybe
  (Binary e
   -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
forall (t :: * -> *) a b.
(Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) =>
t (a -> b) -> t a -> t b
<-*--- ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Binary e)
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e))
-> ((->)
    < State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e)
        (Binary e))
   < (:>)
       (State
          (T_U
             Covariant
             Covariant
             (:*:)
             Exactly
             (T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
             e))
       Maybe
       (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- Lens
  Binary
  (T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     e)
  e
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom (Lens
   Binary
   (T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      e)
   e
 -> State (Binary e) (Binary e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
-> Lens
     Binary
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     e
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure ('Right 'Tree) structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance ('Right 'Tree) structure
sub @(Right Tree) (State (Binary e) (Binary e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- State (Binary e) (Binary e)
forall s (t :: * -> *). Stateful s t => t s
current
		(:>)
  (State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e))
  Maybe
  (Exactly
     (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (t :: * -> *) a b.
(Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) =>
t a -> t b -> t b
-------* (:>)
  (State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e))
  Maybe
  (Construction (Maybe <:*:> Maybe) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (t :: * -> *) a. Covariant (->) (->) t => t a -> t ()
void ((:>)
   (State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e))
   Maybe
   (Construction (Maybe <:*:> Maybe) e)
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      ())
-> (Construction (Maybe <:*:> Maybe) e
    -> (:>)
         (State
            (T_U
               Covariant
               Covariant
               (:*:)
               Exactly
               (T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
               e))
         Maybe
         (Construction (Maybe <:*:> Maybe) e))
-> Construction (Maybe <:*:> Maybe) e
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Construction (Maybe <:*:> Maybe) e))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Construction (Maybe <:*:> Maybe) e))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e))
-> (Construction (Maybe <:*:> Maybe) e
    -> State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e)
         (Construction (Maybe <:*:> Maybe) e))
-> Construction (Maybe <:*:> Maybe) e
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Lens (Construction (Maybe <:*:> Maybe)) (Zipper Binary e) e
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
-> State (Zipper Binary e) (Construction (Maybe <:*:> Maybe) e)
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom @(Zipper Binary e) (forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure ('Focused 'Tree) structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance ('Focused 'Tree) structure
sub @(Focused Tree)) (State
   (Construction (Maybe <:*:> Maybe) e)
   (Construction (Maybe <:*:> Maybe) e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Construction (Maybe <:*:> Maybe) e))
-> (Construction (Maybe <:*:> Maybe) e
    -> State
         (Construction (Maybe <:*:> Maybe) e)
         (Construction (Maybe <:*:> Maybe) e))
-> Construction (Maybe <:*:> Maybe) e
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Construction (Maybe <:*:> Maybe) e
 -> Construction (Maybe <:*:> Maybe) e)
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
forall s (t :: * -> *). Stateful s t => (s -> s) -> t s
change ((Construction (Maybe <:*:> Maybe) e
  -> Construction (Maybe <:*:> Maybe) e)
 -> State
      (Construction (Maybe <:*:> Maybe) e)
      (Construction (Maybe <:*:> Maybe) e))
-> (Construction (Maybe <:*:> Maybe) e
    -> Construction (Maybe <:*:> Maybe) e
    -> Construction (Maybe <:*:> Maybe) e)
-> Construction (Maybe <:*:> Maybe) e
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Construction (Maybe <:*:> Maybe) e
-> Construction (Maybe <:*:> Maybe) e
-> Construction (Maybe <:*:> Maybe) e
forall (m :: * -> * -> *) a i. Kernel m => m a (m i a)
constant
			(Construction (Maybe <:*:> Maybe) e
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      ())
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=====<< Maybe (Construction (Maybe <:*:> Maybe) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Liftable cat t, Covariant cat cat u) =>
cat (u a) (t u a)
lift (Maybe (Construction (Maybe <:*:> Maybe) e)
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      (Construction (Maybe <:*:> Maybe) e))
-> (Binary e -> Maybe (Construction (Maybe <:*:> Maybe) e))
-> Binary e
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Binary e -> Maybe (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (Binary e
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      (Construction (Maybe <:*:> Maybe) e))
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=====<< ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Binary e)
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e))
-> ((->)
    < State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e)
        (Binary e))
   < (:>)
       (State
          (T_U
             Covariant
             Covariant
             (:*:)
             Exactly
             (T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
             e))
       Maybe
       (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- Lens
  Binary
  (T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     e)
  e
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom (Lens
   Binary
   (T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      e)
   e
 -> State (Binary e) (Binary e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
-> Lens
     Binary
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     e
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure ('Left 'Tree) structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance ('Left 'Tree) structure
sub @(Left Tree) (State (Binary e) (Binary e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall s (t :: * -> *). Stateful s t => t s
forall (t :: * -> *). Stateful (Binary e) t => t (Binary e)
current @(Binary e)

instance Slidable (Down Right) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) where
	type Sliding (Down Right) (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) = Maybe
	slide :: forall e . State > Zipper Binary e :> Maybe >>> ()
	slide :: ((State > Zipper Binary e) :> Maybe) >>> ()
slide = ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Exactly
       (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
    -> State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e)
         (Exactly
            (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Lens
  (TT
     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
  (T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     e)
  e
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom (forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure 'Ancestors structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance 'Ancestors structure
sub @Ancestors) (State
   ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
   (Exactly
      (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
    -> State
         ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
         (Exactly
            (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Lens
  Exactly
  ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
  (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> State
     (Exactly
        (List
           (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom Lens
  Exactly
  ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
  (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (t :: * -> *) a.
Interpreted (->) t =>
(Lens Exactly < t a) < Primary t a
primary (State
   (Exactly
      (List
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
   (Exactly
      (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
 -> State
      ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
    -> State
         (Exactly
            (List
               (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
         (Exactly
            (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. State
  (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
  (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> State
     (Exactly
        (List
           (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (t :: * -> *) s result.
(Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) =>
State s result -> State (t s) (t result)
overlook (State
   (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
   (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
 -> State
      (Exactly
         (List
            (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
    -> State
         (List (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
-> State
     (Exactly
        (List
           (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. forall e. Stack List => e -> (State < List e) < e
forall (structure :: * -> *) e.
Stack structure =>
e -> (State < structure e) < e
push @List
			-- TODO: Try to use Semimonoidal instance for lenses
			(TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      (Exactly
         (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)))
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly
        (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=====<< ((Horizontal :. (Exactly <:*:> Binary)) >>> e)
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
forall k k k k (ct :: k) (ct' :: k) (t :: k -> *) (t' :: k -> k)
       (a :: k).
((t :. t') >>> a) -> TT ct ct' t t' a
TT (((Horizontal :. (Exactly <:*:> Binary)) >>> e)
 -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (T_U Covariant Covariant (:*:) Exactly Binary e
    -> (Horizontal :. (Exactly <:*:> Binary)) >>> e)
-> T_U Covariant Covariant (:*:) Exactly Binary e
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. T_U Covariant Covariant (:*:) Exactly Binary e
-> (Horizontal :. (Exactly <:*:> Binary)) >>> e
forall a. a -> Horizontal a
Left (T_U Covariant Covariant (:*:) Exactly Binary e
 -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (Exactly e
    -> Binary e -> T_U Covariant Covariant (:*:) Exactly Binary e)
-> Exactly e
-> Binary e
-> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e
forall (target :: * -> * -> *) (v :: * -> * -> *) a c d b.
(Covariant (->) target (v a), Semigroupoid v) =>
v c d -> target (v a (v b c)) (v a (v b d))
.:.. Exactly e
-> Binary e -> T_U Covariant Covariant (:*:) Exactly Binary e
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
(<:*:>)
				(Exactly e
 -> Binary e
 -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e
      -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
forall (source :: * -> * -> *) (target :: * -> * -> *)
       (t :: * -> *) a b.
Covariant source target t =>
source a b -> target (t a) (t b)
<-|--- ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly e))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Exactly e)
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly e))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly e))
-> ((->)
    < State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e)
        (Exactly e))
   < (:>)
       (State
          (T_U
             Covariant
             Covariant
             (:*:)
             Exactly
             (T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
             e))
       Maybe
       (Exactly e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- Lens
  Exactly
  (T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     e)
  e
-> State (Exactly e) (Exactly e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly e)
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom (Lens
   Exactly
   (T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      e)
   e
 -> State (Exactly e) (Exactly e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly e))
-> Lens
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     e
-> State (Exactly e) (Exactly e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure 'Root structure, Covariant (->) (->) structure) =>
structure @>>> Substance 'Root structure
sub @Root (State (Exactly e) (Exactly e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly e))
-> State (Exactly e) (Exactly e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- State (Exactly e) (Exactly e)
forall s (t :: * -> *). Stateful s t => t s
current
				(:>)
  (State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e))
  Maybe
  (Binary e
   -> TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e)
forall (t :: * -> *) a b.
(Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) =>
t (a -> b) -> t a -> t b
<-*--- ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Binary e)
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e))
-> ((->)
    < State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e)
        (Binary e))
   < (:>)
       (State
          (T_U
             Covariant
             Covariant
             (:*:)
             Exactly
             (T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
             e))
       Maybe
       (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- Lens
  Binary
  (T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     e)
  e
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom (Lens
   Binary
   (T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      e)
   e
 -> State (Binary e) (Binary e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
-> Lens
     Binary
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     e
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure ('Left 'Tree) structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance ('Left 'Tree) structure
sub @(Left Tree) (State (Binary e) (Binary e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- State (Binary e) (Binary e)
forall s (t :: * -> *). Stateful s t => t s
current
		(:>)
  (State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e))
  Maybe
  (Exactly
     (TT Covariant Covariant Horizontal (Exactly <:*:> Binary) e))
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (t :: * -> *) a b.
(Covariant (->) (->) t, Semimonoidal (-->) (:*:) (:*:) t) =>
t a -> t b -> t b
-------* (:>)
  (State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e))
  Maybe
  (Construction (Maybe <:*:> Maybe) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (t :: * -> *) a. Covariant (->) (->) t => t a -> t ()
void ((:>)
   (State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e))
   Maybe
   (Construction (Maybe <:*:> Maybe) e)
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      ())
-> (Construction (Maybe <:*:> Maybe) e
    -> (:>)
         (State
            (T_U
               Covariant
               Covariant
               (:*:)
               Exactly
               (T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
               e))
         Maybe
         (Construction (Maybe <:*:> Maybe) e))
-> Construction (Maybe <:*:> Maybe) e
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Construction (Maybe <:*:> Maybe) e))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Construction (Maybe <:*:> Maybe) e))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e))
-> (Construction (Maybe <:*:> Maybe) e
    -> State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e)
         (Construction (Maybe <:*:> Maybe) e))
-> Construction (Maybe <:*:> Maybe) e
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Lens (Construction (Maybe <:*:> Maybe)) (Zipper Binary e) e
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
-> State (Zipper Binary e) (Construction (Maybe <:*:> Maybe) e)
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom @(Zipper Binary e) (forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure ('Focused 'Tree) structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance ('Focused 'Tree) structure
sub @(Focused Tree)) (State
   (Construction (Maybe <:*:> Maybe) e)
   (Construction (Maybe <:*:> Maybe) e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Construction (Maybe <:*:> Maybe) e))
-> (Construction (Maybe <:*:> Maybe) e
    -> State
         (Construction (Maybe <:*:> Maybe) e)
         (Construction (Maybe <:*:> Maybe) e))
-> Construction (Maybe <:*:> Maybe) e
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Construction (Maybe <:*:> Maybe) e
 -> Construction (Maybe <:*:> Maybe) e)
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
forall s (t :: * -> *). Stateful s t => (s -> s) -> t s
change ((Construction (Maybe <:*:> Maybe) e
  -> Construction (Maybe <:*:> Maybe) e)
 -> State
      (Construction (Maybe <:*:> Maybe) e)
      (Construction (Maybe <:*:> Maybe) e))
-> (Construction (Maybe <:*:> Maybe) e
    -> Construction (Maybe <:*:> Maybe) e
    -> Construction (Maybe <:*:> Maybe) e)
-> Construction (Maybe <:*:> Maybe) e
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Construction (Maybe <:*:> Maybe) e
-> Construction (Maybe <:*:> Maybe) e
-> Construction (Maybe <:*:> Maybe) e
forall (m :: * -> * -> *) a i. Kernel m => m a (m i a)
constant
			(Construction (Maybe <:*:> Maybe) e
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      ())
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=====<< Maybe (Construction (Maybe <:*:> Maybe) e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Liftable cat t, Covariant cat cat u) =>
cat (u a) (t u a)
lift (Maybe (Construction (Maybe <:*:> Maybe) e)
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      (Construction (Maybe <:*:> Maybe) e))
-> (Binary e -> Maybe (Construction (Maybe <:*:> Maybe) e))
-> Binary e
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Binary e -> Maybe (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run (Binary e
 -> (:>)
      (State
         (T_U
            Covariant
            Covariant
            (:*:)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      (Construction (Maybe <:*:> Maybe) e))
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e)
-> (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=====<< ((->)
 < State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e))
< (:>)
    (State
       (T_U
          Covariant
          Covariant
          (:*:)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Binary e)
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
 < (:>)
     (State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Binary e))
-> ((->)
    < State
        (T_U
           Covariant
           Covariant
           (:*:)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e)
        (Binary e))
   < (:>)
       (State
          (T_U
             Covariant
             Covariant
             (:*:)
             Exactly
             (T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
             e))
       Maybe
       (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- Lens
  Binary
  (T_U
     Covariant
     Covariant
     (:*:)
     Exactly
     (T_U
        Covariant
        Covariant
        (:*:)
        (TT
           Covariant
           Covariant
           (Maybe <:*:> Maybe)
           (Construction (Maybe <:*:> Maybe)))
        (TT
           Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
     e)
  e
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom (Lens
   Binary
   (T_U
      Covariant
      Covariant
      (:*:)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      e)
   e
 -> State (Binary e) (Binary e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
-> Lens
     Binary
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     e
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure ('Right 'Tree) structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance ('Right 'Tree) structure
sub @(Right Tree) (State (Binary e) (Binary e)
 -> State
      (T_U
         Covariant
         Covariant
         (:*:)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Binary e))
-> State (Binary e) (Binary e)
-> State
     (T_U
        Covariant
        Covariant
        (:*:)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Binary e)
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall s (t :: * -> *). Stateful s t => t s
forall (t :: * -> *). Stateful (Binary e) t => t (Binary e)
current @(Binary e)

instance Slidable Up (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) where
	type Sliding Up (Exactly <:*:> (Maybe <:*:> Maybe) <::> Construction (Maybe <:*:> Maybe) <:*:> List <::> Horizontal <::> (Exactly <:*:> Binary)) = Maybe
	slide :: forall e . State > Zipper Binary e :> Maybe >>> ()
	slide :: ((State > Zipper Binary e) :> Maybe) >>> ()
slide = (:>)
  (State
     ((<:*:>)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e))
  Maybe
  (Construction (Maybe <:*:> Maybe) e)
-> (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (t :: * -> *) a. Covariant (->) (->) t => t a -> t ()
void ((:>)
   (State
      ((<:*:>)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e))
   Maybe
   (Construction (Maybe <:*:> Maybe) e)
 -> (:>)
      (State
         ((<:*:>)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      ())
-> (((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
    -> (:>)
         (State
            ((<:*:>)
               Exactly
               (T_U
                  Covariant
                  Covariant
                  (:*:)
                  (TT
                     Covariant
                     Covariant
                     (Maybe <:*:> Maybe)
                     (Construction (Maybe <:*:> Maybe)))
                  (TT
                     Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
               e))
         Maybe
         (Construction (Maybe <:*:> Maybe) e))
-> ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
-> (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. ((->)
 < State
     ((<:*:>)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Construction (Maybe <:*:> Maybe) e))
< (:>)
    (State
       ((<:*:>)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      ((<:*:>)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Construction (Maybe <:*:> Maybe) e))
 < (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e))
-> (((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
    -> State
         ((<:*:>)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e)
         (Construction (Maybe <:*:> Maybe) e))
-> ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
-> (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Lens (Construction (Maybe <:*:> Maybe)) (Zipper Binary e) e
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
-> State (Zipper Binary e) (Construction (Maybe <:*:> Maybe) e)
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom @(Zipper Binary e) (forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure ('Focused 'Tree) structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance ('Focused 'Tree) structure
sub @(Focused Tree)) (State
   (Construction (Maybe <:*:> Maybe) e)
   (Construction (Maybe <:*:> Maybe) e)
 -> State
      ((<:*:>)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Construction (Maybe <:*:> Maybe) e))
-> (((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
    -> State
         (Construction (Maybe <:*:> Maybe) e)
         (Construction (Maybe <:*:> Maybe) e))
-> ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
-> State
     ((<:*:>)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. (Construction (Maybe <:*:> Maybe) e
 -> Construction (Maybe <:*:> Maybe) e)
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
forall s (t :: * -> *). Stateful s t => (s -> s) -> t s
change ((Construction (Maybe <:*:> Maybe) e
  -> Construction (Maybe <:*:> Maybe) e)
 -> State
      (Construction (Maybe <:*:> Maybe) e)
      (Construction (Maybe <:*:> Maybe) e))
-> (((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
    -> Construction (Maybe <:*:> Maybe) e
    -> Construction (Maybe <:*:> Maybe) e)
-> ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
-> State
     (Construction (Maybe <:*:> Maybe) e)
     (Construction (Maybe <:*:> Maybe) e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. TT
  Covariant
  Covariant
  Horizontal
  (T_U Covariant Covariant (:*:) Exactly Binary)
  e
-> Construction (Maybe <:*:> Maybe) e
-> Construction (Maybe <:*:> Maybe) e
((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
-> Nonempty Binary e -> Nonempty Binary e
branching
		(((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
 -> (:>)
      (State
         ((<:*:>)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      ())
-> (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
-> (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ()
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=====<< Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
-> (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
forall (cat :: * -> * -> *) (t :: (* -> *) -> * -> *) (u :: * -> *)
       a.
(Liftable cat t, Covariant cat cat u) =>
cat (u a) (t u a)
lift (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
 -> (:>)
      (State
         ((<:*:>)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
-> (Exactly
      (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
    -> Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
-> Exactly
     (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
-> (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
forall (m :: * -> * -> *) b c a.
Semigroupoid m =>
m b c -> m a b -> m a c
. Exactly (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
-> Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
forall (t :: * -> *) a. Extractable t => t a -> a
extract (Exactly (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
 -> (:>)
      (State
         ((<:*:>)
            Exactly
            (T_U
               Covariant
               Covariant
               (:*:)
               (TT
                  Covariant
                  Covariant
                  (Maybe <:*:> Maybe)
                  (Construction (Maybe <:*:> Maybe)))
               (TT
                  Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
            e))
      Maybe
      ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
-> (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
-> (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
forall (source :: * -> * -> *) (t :: * -> *) a b.
Bindable source t =>
source a (t b) -> source (t a) (t b)
=====<< ((->)
 < State
     ((<:*:>)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))))
< (:>)
    (State
       ((<:*:>)
          Exactly
          (T_U
             Covariant
             Covariant
             (:*:)
             (TT
                Covariant
                Covariant
                (Maybe <:*:> Maybe)
                (Construction (Maybe <:*:> Maybe)))
             (TT
                Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
          e))
    Maybe
    (Exactly
       (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
forall (m :: * -> * -> *) (t :: * -> *) (u :: * -> *) a.
(Monadic m t, Pointable u) =>
(m < t a) < (:>) t u a
wrap (((->)
  < State
      ((<:*:>)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly
         (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))))
 < (:>)
     (State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e))
     Maybe
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))))
-> ((->)
    < State
        ((<:*:>)
           Exactly
           (T_U
              Covariant
              Covariant
              (:*:)
              (TT
                 Covariant
                 Covariant
                 (Maybe <:*:> Maybe)
                 (Construction (Maybe <:*:> Maybe)))
              (TT
                 Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
           e)
        (Exactly
           (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))))
   < (:>)
       (State
          ((<:*:>)
             Exactly
             (T_U
                Covariant
                Covariant
                (:*:)
                (TT
                   Covariant
                   Covariant
                   (Maybe <:*:> Maybe)
                   (Construction (Maybe <:*:> Maybe)))
                (TT
                   Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
             e))
       Maybe
       (Exactly
          (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<----- forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
forall ls (u :: * -> *) result.
Lens u (Zipper Binary e) ls
-> State (u ls) result -> State (Zipper Binary e) result
zoom @(Zipper Binary e) (Lens
   (TT
      Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
   ((<:*:>)
      Exactly
      (T_U
         Covariant
         Covariant
         (:*:)
         (TT
            Covariant
            Covariant
            (Maybe <:*:> Maybe)
            (Construction (Maybe <:*:> Maybe)))
         (TT
            Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
      e)
   e
 -> State
      ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
      (Exactly
         (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
 -> State
      ((<:*:>)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly
         (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))))
-> Lens
     (TT
        Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary)))
     ((<:*:>)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     e
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
-> State
     ((<:*:>)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<---- forall k (segment :: k) (structure :: * -> *).
(Substructure segment structure, Covariant (->) (->) structure) =>
structure @>>> Substance segment structure
forall (structure :: * -> *).
(Substructure 'Ancestors structure,
 Covariant (->) (->) structure) =>
structure @>>> Substance 'Ancestors structure
sub @Ancestors
			(State
   ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
   (Exactly
      (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
 -> State
      ((<:*:>)
         Exactly
         (T_U
            Covariant
            Covariant
            (:*:)
            (TT
               Covariant
               Covariant
               (Maybe <:*:> Maybe)
               (Construction (Maybe <:*:> Maybe)))
            (TT
               Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
         e)
      (Exactly
         (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))))
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
-> State
     ((<:*:>)
        Exactly
        (T_U
           Covariant
           Covariant
           (:*:)
           (TT
              Covariant
              Covariant
              (Maybe <:*:> Maybe)
              (Construction (Maybe <:*:> Maybe)))
           (TT
              Covariant Covariant List (Horizontal <::> (Exactly <:*:> Binary))))
        e)
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<---- Lens
  Exactly
  ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
  (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
-> State
     (Exactly (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
forall bg ls (u :: * -> *) result.
Lens u bg ls -> State (u ls) result -> State bg result
zoom (Lens
   Exactly
   ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
   (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
 -> State
      (Exactly (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
      (Exactly
         (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
 -> State
      ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
      (Exactly
         (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))))
-> Lens
     Exactly
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
-> State
     (Exactly (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- Lens
  Exactly
  ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
  (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
forall (t :: * -> *) a.
Interpreted (->) t =>
(Lens Exactly < t a) < Primary t a
primary (State
   (Exactly (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
   (Exactly
      (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
 -> State
      ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
      (Exactly
         (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))))
-> State
     (Exactly (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
-> State
     ((<::>) List (Horizontal <::> (Exactly <:*:> Binary)) e)
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<--- State
  (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
  (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
-> State
     (Exactly (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
forall (t :: * -> *) s result.
(Covariant (->) (->) t, Semimonoidal (<--) (:*:) (:*:) t) =>
State s result -> State (t s) (t result)
overlook (State
   (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
   (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
 -> State
      (Exactly (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
      (Exactly
         (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))))
-> State
     (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
     (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e))
-> State
     (Exactly (List ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
     (Exactly
        (Maybe ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)))
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<-- forall e. Stack List => (State < List e) < Topping List e
forall (structure :: * -> *) e.
Stack structure =>
(State < structure e) < Topping structure e
pop @List where

		branching :: Horizontal <::> (Exactly <:*:> Binary) >>>>> e
			-> Nonempty Binary e -> Nonempty Binary e
		branching :: ((Horizontal <::> (Exactly <:*:> Binary)) >>>>> e)
-> Nonempty Binary e -> Nonempty Binary e
branching (TT (Left (T_U (Exactly e
root :*: Binary e
left)))) Nonempty Binary e
right =
			e
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (t :: * -> *) a.
a -> ((t :. Construction t) >>> a) -> Construction t a
Construct (e
 -> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
     >>> e)
 -> Construction (Maybe <:*:> Maybe) e)
-> e
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<----- e
root ((((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e)
 -> Construction (Maybe <:*:> Maybe) e)
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<----- Binary e -> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run Binary e
left ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> e)
-> ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> e)
-> ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> Construction (Maybe <:*:> Maybe) e
-> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
forall a. a -> Maybe a
Just Construction (Maybe <:*:> Maybe) e
Nonempty Binary e
right
		branching (TT (Right (T_U (Exactly e
root :*: Binary e
right)))) Nonempty Binary e
left =
			e
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (t :: * -> *) a.
a -> ((t :. Construction t) >>> a) -> Construction t a
Construct (e
 -> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
     >>> e)
 -> Construction (Maybe <:*:> Maybe) e)
-> e
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<----- e
root ((((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e)
 -> Construction (Maybe <:*:> Maybe) e)
-> (((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe))
    >>> e)
-> Construction (Maybe <:*:> Maybe) e
forall (m :: * -> * -> *) a b. Category m => m (m a b) (m a b)
<----- Construction (Maybe <:*:> Maybe) e
-> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
forall a. a -> Maybe a
Just Construction (Maybe <:*:> Maybe) e
Nonempty Binary e
left ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> e)
-> ((Maybe :. Construction (Maybe <:*:> Maybe)) >>> e)
-> ((Maybe <:*:> Maybe) :. Construction (Maybe <:*:> Maybe)) >>> e
forall k (t :: k -> *) (a :: k) (u :: k -> *).
t a -> u a -> (t <:*:> u) >>>>>> a
<:*:> Binary e -> (Maybe :. Construction (Maybe <:*:> Maybe)) >>> e
forall (m :: * -> * -> *) (t :: * -> *) a.
Interpreted m t =>
(m < t a) < Primary t a
run Binary e
right