Precedence: 7

`kyo` - co[K]leisli [Y]oneda c[O]variant

How to read: modify argument covariantly with a coKleisli arrow.

It looks similar to yo except the fact that we map a reverse Kleisli morphism - that’s why we have a small hook here on the left.

Simplified type annotation:

`kyo` : t a `AR_` into (from (tt a) o) (t o)

Compare it with yo and yok operators:

(`yo`):  t a `AR_` into (from a      o) (t o)
(`yok`): t a `AR_` into (from a (tt o)) (t o)

This operator is useful to expand variations of datastructures:

[1,2,3,4,5] `yi` is @(Nonempty List Integer) `kyo` Apply @(Nonempty List)
`q__` [[1,2,3,4,5], [2,3,4,5], [3,4,5], [4,5], [5]]

We also can expand one type of datastructures vin another one - Nonempty List via Scrolling List:

[1,2,3,4,5] `yi` is @(Nonempty List Integer) `kyo` Range @List
`q__` [[[1],2,3,4,5], [1,[2],3,4,5], [1,2,[3],4,5], [1,2,3,[4],5], [1,2,3,4,[5]]]

Behaviour is similar to comonadic extend method in vanilla Haskell.