package Ġes . ff g iral dez . com ic search . platform Ċ Ċ import Ġarrow . core . Either Ċ import Ġarrow . core . left Ċ import Ġarrow . core . right Ċ Ċ fun Ġ< A , ĠB , ĠC > Ġsafe ( first : ĠA ?, Ġsecond : ĠB ?, Ġblock : Ġ( A , ĠB ) Ġ-> ĠC ): ĠC ? Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( first Ġ!= Ġnull Ġ&& Ġsecond Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġblock ( first , Ġsecond ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< A , ĠB > Ġleft ( a : ĠA ): ĠEither < A , ĠB > Ġ= Ġa . left () Ċ fun Ġ< A , ĠB > Ġright ( b : ĠB ): ĠEither < A , ĠB > Ġ= Ġb . right ()