public static boolean function_definition(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "function_definition")) return false;
    if (!nextTokenIs(b, "<function definition>", FUNCTION, WORD)) return false;
    boolean r;
    Marker m = enter_section_(b, l, _COLLAPSE_, FUNCTION_DEFINITION, "<function definition>");
    r = function_definition_0(b, l + 1);
    r = r && function_definition_inner(b, l + 1);
    exit_section_(b, l, m, r, false, null);
    return r;
  }
public static boolean function_definition(PsiBuilder b, int l)