start :: fn { ts := 0 t :: fn -> bool { ts += 1 ret true } fs := 0 f :: fn -> bool { fs += 1 ret false } i :: fn -> bool { ret false } if t() || i() && i() { // Empty } else { } if f() && i() || t() { // Empty } else { } fs <=> 1 fs = 0 ts <=> 2 ts = 0 f() && i() || f() <=> t() && f() || f() f() && i() || f() <=> (t() && f()) || f() t() && t() && f() || t() <=> t() || i() && i() && i() fs <=> 9 ts <=> 6 }