package Ġarrow . type classes Ċ Ċ import Ġarrow . Kind Ċ import Ġarrow . core . identity Ċ Ċ interface ĠCross walk < T > Ġ: ĠFun ctor < T >, ĠFold able < T > Ġ{ ĊĠ Ġ/** ĊĠĠ Ġ* Ġ Ġ{: Ġdata - executable =' true '} ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ Ġ``` kotlin : ank ĊĠĠ Ġ* Ġimport Ġarrow . core . extensions .* ĊĠĠ Ġ* Ġimport Ġarrow . core . extensions . list k . cross walk . cross walk ĊĠĠ Ġ* Ġimport Ġarrow . core . extensions . list k . align . align ĊĠĠ Ġ* Ġimport Ġarrow . core .* ĊĠĠ Ġ* ĊĠĠ Ġ* ĠList K . cross walk (). run Ġ{ ĊĠĠ Ġ* ĠĠĠ Ġcross walk ( List K . align (), ĠlistOf (" 1 : 2 : 3 : 4 : 5 ", Ġ" 6 : 7 : 8 : 9 : 1 0 ", Ġ" 1 1 : 1 2 "). k ()) Ġ{ ĊĠĠ Ġ* ĠĠĠĠĠ Ġit . split (": "). k () ĊĠĠ Ġ* ĠĠĠ Ġ} ĊĠĠ Ġ* Ġ} ĊĠĠ Ġ* Ġ``` ĊĠĠ Ġ*/ ĊĠ Ġfun Ġ< F , ĠA , ĠB > Ġcross walk ( ALIGN : ĠAlign < F >, Ġa : ĠKind < T , ĠA >, Ġfa : Ġ( A ) Ġ-> ĠKind < F , ĠB >): ĠKind < F , ĠKind < T , ĠB >> Ġ= ĊĠĠĠ Ġsequence L ( ALIGN , Ġa . map ( fa )) ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ{: Ġdata - executable =' true '} ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ``` kotlin : ank ĊĠĠ Ġ* Ġimport Ġarrow . core . extensions .* ĊĠĠ Ġ* Ġimport Ġarrow . core . extensions . list k . cross walk . cross walk ĊĠĠ Ġ* Ġimport Ġarrow . core . extensions . list k . align . align ĊĠĠ Ġ* Ġimport Ġarrow . core .* ĊĠĠ Ġ* ĊĠĠ Ġ* ĠList K . cross walk (). run Ġ{ ĊĠĠ Ġ* ĠĠĠ Ġval Ġlists Ġ= ĠlistOf ( listOf ( 1 , Ġ 2 , Ġ 3 , Ġ 4 , Ġ 5 ). k (), ĊĠĠ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 6 , Ġ 7 , Ġ 8 , Ġ 9 , Ġ 1 0 ). k (), ĊĠĠ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( 1 1 , Ġ 1 2 ). k ()) ĊĠĠ Ġ* ĊĠĠ Ġ* ĠĠĠ Ġsequence L ( List K . align (), Ġlists . k ()) ĊĠĠ Ġ* Ġ} ĊĠĠ Ġ* Ġ``` ĊĠĠ Ġ*/ ĊĠ Ġfun Ġ< F , ĠA > Ġsequence L ( ALIGN : ĠAlign < F >, Ġt fa : ĠKind < T , ĠKind < F , ĠA >> ): ĠKind < F , ĠKind < T , ĠA >> Ġ= ĊĠĠĠ Ġcross walk ( ALIGN , Ġt fa , Ġ:: identity ) Ċ } Ċ