public static void postToCheckTypesAgenda(Proposition self) {
    { int length = Logic.$CHECK_TYPES_AGENDA$.sequenceLength;

      if ((length == 0) ||
          (!(self == ((CheckTypesRecord)((Logic.$CHECK_TYPES_AGENDA$.theArray)[(length - 1)])).proposition))) {
        { CheckTypesRecord self001 = CheckTypesRecord.newCheckTypesRecord();

          self001.proposition = self;
          self001.parentProposition = ((Stella_Object)(Logic.$TERMUNDERCONSTRUCTION$.get()));
          self001.parentDescription = ((Description)(((Stella_Object)(Logic.$DESCRIPTIONUNDERCONSTRUCTION$.get()))));
          self001.module = ((Module)(Stella.$MODULE$.get()));
          Logic.$CHECK_TYPES_AGENDA$.insert(self001);
        }
        length = length + 1;
      }
      if (Stella.integer_mod(length, 100000) == 0) {
        { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

          try {
            Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
            Stella.STANDARD_WARNING.nativeStream.println("WARNING: Queued " + length + " type violations, consider running `(process-definitions)'");
            Logic.helpSignalPropositionError(Stella.STANDARD_WARNING, Logic.KWD_WARNING);

          } finally {
            Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
          }
        }
      }
    }
  }