code: public boolean isList() {
      Object ptr = cdr;
      while (ptr instanceof ConsValue) {
        ptr = ((ConsValue) ptr).cdr;
      }
      return ptr == ConstantValue.NIL;
    }
docs: Returns {@code true} if this is a list, meaning it
  is a nested sequence of cons cells terminated by NIL.
  
  @return