package Ġarrow . intro . runtime Ċ Ċ import Ġarrow . Kind Ċ import Ġarrow . data . List K Ċ import Ġarrow . data . k Ċ import Ġarrow . effects . type classes . Monad De fer Ċ import Ġarrow . intro . G ist Ċ import Ġarrow . intro . al ge br as . G ists Api Ċ import Ġarrow . type classes . binding Ċ Ċ class ĠClient App < F >( ĊĠ Ġprivate Ġval Ġmodule : ĠModule < F >, ĊĠ Ġprivate Ġval Ġdelay : ĠMonad De fer < F > Ġ= Ġmodule . async Ċ ) Ġ: ĠG ists Api < F > Ġby Ġmodule . api , ĠMonad De fer < F > Ġby Ġdelay Ġ{ ĊĊĠ Ġprivate Ġfun Ġg ists Tele type (): ĠKind < F , ĠList K < G ist >> Ġ= ĊĠĠĠ Ġbinding Ġ{ ĊĠĠĠĠĠ Ġdelay Ġ{ Ġprintln (" Enter Ġgithub Ġuser Ġname ") Ġ}. bind () ĊĠĠĠĠĠ Ġdefer Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuser Input Ġ= Ġread Line () ĊĠĠĠĠĠĠĠ Ġif Ġ( user Input Ġ!= Ġnull Ġ&& Ġuser Input . isNotBlank ()) Ġpublic G ists ForUser ( user Input . trim ()) ĊĠĠĠĠĠĠĠ Ġelse Ġg ists Tele type () ĊĠĠĠĠĠ Ġ}. bind () ĊĠĠĠ Ġ} ĊĊĠ Ġfun Ġmain (): ĠKind < F , ĠUnit > Ġ= ĊĠĠĠ Ġbinding Ġ{ ĊĠĠĠĠĠ Ġg ists Tele type (). bind (). k (). traverse ( this ) Ġ{ Ġgist Ġ-> ĊĠĠĠĠĠĠĠ Ġdelay Ġ{ Ġprintln ( gist ) Ġ} ĊĠĠĠĠĠ Ġ}. follow edBy ( main ()). follow edBy ( just ( Unit )). bind () ĊĠĠĠ Ġ} Ċ Ċ } ĊĊĊ