docs: def changes(self):
          """
          Returns a dict containing just the fields which have changed on this
          Document since it was created or last saved, together with both their
          previous and current values
  
              doc['name']             # => 'bob'
              doc['name'] = 'clive'
              doc.changes             # => {'name': ('bob', clive')}
          """
          return {key: (self._previous[key], self._instance[key])
                  for key in self._previous}