in src/main/scala/com/twitter/stitch/Arrow.scala [1355:1373]
private[this] def isConstant(i: Int): Boolean =
constants != null && constants(i) != null
override def run[V](t: Try[T], l: Locals, tail: Arrow[U, V]): Stitch[V] =
t match {
case Return(x) =>
var i = 0
while (i < numChoices) {
val (cond, arrow) = choices(i)
if (cond(x)) return arrow.run(t, l, tail)
i += 1
}
throw new MatchError(s"choose $x")
case Throw(_) =>
tail.run(t.asInstanceOf[Try[U]], l)
}