■
val (t1, t2): (Rep[A], Rep[Option[B]]) ... if ((t2.map(_.B.isDefined) && t1.A < t2.flatMap(_.B)) == LiteralColumn[Boolean](true)) { t2.flatMap(_.B).get } else { t1.A }
↓
val (t1, t2): (Rep[A], Rep[Option[B]]) ... t2.flatMap(_.B).fold(t1.A){ _B => if(t1.A < _B == LiteralColumn[Boolean](true)) { _B } else { t1.A } }