title: Firestore's WriteBatch.update() won't take angularfirestore2's AngularFirestoreDocument
body: <p>I'm trying to do a batch write using Firestore's WriteBatch. I'm trying to add updates to the WriteBatch and that requires a DocumentReference. I have a AngularFirestoreDocument and can't figure out how to cast that to a DocumentReference and get it to compile or run correctly. </p>
  
  <p>I've tried to cast it to any,unknown, and DocumentReference and use the AngularFirestoreDocument as is.</p>
  
  <pre><code>export class FinancialService {
      private transCollection: AngularFirestoreCollection&lt;Transaction&gt;;
  
      batch_update_trans(trans) {
          let writer = this.afs.firestore.batch();
          this.transCollection = this.afs.collection&lt;Transaction&gt;('balance_sheets/'+this.balance_sheet_id+"/transactions/");
          for (let t of trans) {
            writer.update(this.transCollection.doc(id),t);
          }
          return writer.commit();
      }
  }
  </code></pre>
  
  <p>if I include the AngularFirestoreDocument as is like above I get this compile time error:
  error TS2345: Argument of type 'AngularFirestoreDocument&lt;{}>' is not assignable to parameter of type 'DocumentReference'.
        Type 'AngularFirestoreDocument&lt;{}>' is missing the following properties from type 'DocumentReference': id, firestore, parent, path, and 2 more.</p>
  
  <p>If I cast the AngularFirestoreDocument to a DocumentReference:
    <code>writer.update(&lt;DocumentReference&gt;this.transCollection.doc(id),t);</code></p>
  
  <p>I get this compile time error:
  error TS2352: Conversion of type 'AngularFirestoreDocument&lt;{}>' to type 'DocumentReference' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
        Type 'AngularFirestoreDocument&lt;{}>' is missing the following properties from type 'DocumentReference': id, firestore, parent, path, and 2 more</p>
  
  <p>If I cast the AngularFirestoreDocument to a DocumentReference to unknown:
      <code>writer.update(&lt;unknown&gt; this.transCollection.doc(id),t);</code>
  It fails to compile with this error:
  error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'DocumentReference'.</p>
  
  <p>If I cast the AngularFirestoreDocument to a DocumentReference to any:
      <code>writer.update(&lt;any&gt; this.transCollection.doc(id),t);</code>
  it does compile, but I get a runtime error when I try go batch update docs this way:
  Uncaught (in promise): FirebaseError: [code=invalid-argument]: Function WriteBatch.update() requires its first argument to be a DocumentReference, but it was: an object
  FirebaseError: Function WriteBatch.update() requires its first argument to be a DocumentReference, but it was: an object</p>
  
  <p>I was expecting the code to compile and successfully batch update Transaction docs.</p>