arrow-core / arrow.core.extensions.tuple2.functor / arrow.Kind / widen

widen

@JvmName("widen") fun <F, B, A : B> Kind<Kind<ForTuple2, F>, A>.~~widen~~(): Tuple2<F, B> Deprecated: @extension kinded projected functions are deprecated

Given A is a sub type of B, re-type this value from Kind<F, A> to Kind<F, B>

Kind<F, A> -> Kind<F, B>

 import arrow.core.*
import arrow.core.extensions.tuple2.functor.*
import arrow.core.*


 import arrow.core.extensions.tuple2.applicative.just
import arrow.core.extensions.monoid
 import arrow.Kind

 fun main(args: Array<String>) {
  val result: Kind<*, CharSequence> =
  //sampleStart
  "Hello".just<String, String>(String.monoid()).map<String, String,
String>({ "$it World" }).widen<String, String, String>()
  //sampleEnd
  println(result)
 }

Do you like Arrow?

Arrow Org
<