public static Cons clYieldLetVariableTypeDeclarationTrees(Cons bindingstree) {
    { Cons types = Stella.NIL;
      Symbol cltype = null;

      { Cons binding = null;
        Cons iter000 = bindingstree;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          binding = ((Cons)(iter000.value));
          { Stella_Object type = binding.rest.value;

            if (type != null) {
              cltype = ((Symbol)(StandardObject.lookupClTypeFromStellaType(((StandardObject)(binding.rest.value)))));
            }
            if (cltype != null) {
              types = Cons.cons(Cons.list$(Cons.cons(Stella.internCommonLispSymbol("TYPE"), Cons.cons(cltype, Cons.cons(Cons.cons(Symbol.clTranslateLocalSymbol(((Symbol)(binding.value))), Stella.NIL), Stella.NIL)))), types);
            }
          }
        }
      }
      return (types.reverse());
    }
  }