static <A> A or_func(A a, IF0<A> b) {
  return a != null ? a : callF(b);
}