docs: def set(self, key, value):
          """
          Set a value in the database.
  
          :param str key: Key to set the value for
          :param value: Any JSON-serializable value to be set
          """
          serialized = json.dumps(value)
  
          self.cursor.execute('select data from kv where key=?', [key])
          exists = self.cursor.fetchone()
  
          # Skip mutations to the same value
          if exists:
              if exists[0] == serialized:
                  return value
  
          if not exists:
              self.cursor.execute(
                  'insert into kv (key, data) values (?, ?)',
                  (key, serialized))
          else:
              self.cursor.execute('''
              update kv
              set data = ?
              where key = ?''', [serialized, key])
  
          # Save
          if not self.revision:
              return value
  
          self.cursor.execute(
              'select 1 from kv_revisions where key=? and revision=?',
              [key, self.revision])
          exists = self.cursor.fetchone()
  
          if not exists:
              self.cursor.execute(
                  '''insert into kv_revisions (
                  revision, key, data) values (?, ?, ?)''',
                  (self.revision, key, serialized))
          else:
              self.cursor.execute(
                  '''
                  update kv_revisions
                  set data = ?
                  where key = ?
                  and   revision = ?''',
                  [serialized, key, self.revision])
  
          return value