// returns (first condition, rest) or null on null; rest may be null static Pair nlLogic_extractFirstCondition(Exp e) { if (e == null) null; if (e cast And) ret pair(e.a, e.b); ret pair(e, null); }