public static Description constructDescriptionFromForallProposition(Proposition forallprop, Keyword headortail) {
    { Description description = Description.newDescription();

      description.proposition = ((Proposition)((forallprop.arguments.theArray)[(((headortail == Logic.KWD_HEAD) ? 1 : 0))]));
      description.ioVariables = ((Vector)(KeyValueList.dynamicSlotValue(forallprop.dynamicSlots, Logic.SYM_LOGIC_IO_VARIABLES, null))).copy();
      { Object old$Evaluationmode$000 = Logic.$EVALUATIONMODE$.get();

        try {
          Native.setSpecial(Logic.$EVALUATIONMODE$, Logic.KWD_DESCRIPTION);
          return (Description.finishBuildingDescription(description, true, headortail));

        } finally {
          Logic.$EVALUATIONMODE$.set(old$Evaluationmode$000);
        }
      }
    }
  }