public static boolean stringArgumentP(Cons clause) {
    { Stella_Object ele = null;
      Cons iter000 = clause;

      for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
        ele = iter000.value;
        { Surrogate testValue000 = Stella_Object.safePrimaryType(ele);

          if (testValue000 == Logic.SGT_STELLA_CONS) {
            { Cons ele000 = ((Cons)(ele));

              if (Logic.stringArgumentP(ele000)) {
                return (true);
              }
            }
          }
          else if (Surrogate.subtypeOfStringP(testValue000)) {
            { StringWrapper ele000 = ((StringWrapper)(ele));

              return (true);
            }
          }
          else {
          }
        }
      }
    }
    return (false);
  }