val out = iterable.zipWithIndex
.sortWith { (a, b) =>
branches.view
.map { branch =>
val f =
VFun.fromLambda(AST.Lambda(Some(1), List.empty, List(branch)))
(
f.execute(a(0), a(1), List(a(0))),
f.execute(b(0), b(1), List(b(0))),
)
}
.find(_ != _)
// If they compare equal with all branches, a < b is false
.fold(false) {