public static void VisitAll(Expression gdl, GdlVisitor visitor) { visitor.VisitGdl(gdl); var rule = gdl as Implication; if (rule != null) VisitRule(rule, visitor); else VisitLiteral(gdl, visitor); }