anchor.diff:    ///
     /// After a [FieldPath.documentId] order by call, you cannot add any more [orderBy]
     /// calls.
  +  ///
     /// Furthermore, you may not use [orderBy] on the [FieldPath.documentId] [field] when
     /// using [startAfterDocument], [startAtDocument], [endAfterDocument],
     /// or [endAtDocument] because the order by clause on the document id
  
positive.code: 
    /// Asserts that the query [field] is either a String or a [FieldPath].
    void _assertValidFieldType(dynamic field) {
      assert(field is String || field is FieldPath,
          'Supported [field] types are [String] and [FieldPath].');
    }
  
  
negative.code:     // Once all conditions have been set, we must now check them to ensure the
      // query is valid.
      for (dynamic condition in conditions) {
        dynamic field = condition[0]; // FieldPath or FieldPathType
        String operator = condition[1];
        dynamic value = condition[2];
  
  