anchor.diff:  
       +row
           +cell #[code vector]
  -        +cell #[code.u-break numpy.ndarray[ndim=1, dtype='float32']]
  -        +cell An optional vector to add.
  +        +cell #[code.u-break ndarray[ndim=1, dtype='float32']]
  +        +cell An optional vector to add for the key.
  +
  +    +row
  +        +cell #[code row]
  +        +cell int
  +        +cell An optional row number of a vector to map the key to.
  +
  +    +row("foot")
  +        +cell returns
  +        +cell int
  +        +cell The row the vector was added to.
  +
  ++h(2, "keys") Vectors.keys
  +    +tag method
  +
  +p A sequence of the keys in the table.
  +
  ++aside-code("Example").
  +    for key in nlp.vocab.vectors.keys():
  +        print(key, nlp.vocab.strings[key])
  +
  ++table(["Name", "Type", "Description"])
  +    +row("foot")
  +        +cell returns
  +        +cell iterable
  +        +cell The keys.
  +
  ++h(2, "values") Vectors.values
  +    +tag method
  +
  +p
  +    |  Iterate over vectors that have been assigned to at least one key. Note
  +    |  that some vectors may be unassigned, so the number of vectors returned
  +    |  may be less than the length of the vectors table.
  +
  ++aside-code("Example").
  +    for vector in nlp.vocab.vectors.values():
  +        print(vector)
  +
  ++table(["Name", "Type", "Description"])
  +    +row("foot")
  +        +cell yields
  +        +cell #[code.u-break ndarray[ndim=1, dtype='float32']]
  +        +cell A vector in the table.
   
   +h(2, "items") Vectors.items
       +tag method
   
  -p Iterate over #[code (string key, vector)] pairs, in order.
  -
  -+aside-code("Example").
  -    vectors = Vectors(StringStore(), 300)
  -    vectors.add(u'cat', numpy.random.uniform(-1, 1, (300,)))
  -    for key, vector in vectors.items():
  -        print(key, vector)
  +p Iterate over #[code (key, vector)] pairs, in order.
  +
  ++aside-code("Example").
  +    for key, vector in nlp.vocab.vectors.items():
  +        print(key, nlp.vocab.strings[key], vector)
   
   +table(["Name", "Type", "Description"])
       +row("foot")
           +cell yields
           +cell tuple
  -        +cell #[code (string key, vector)] pairs, in order.
  +        +cell #[code (key, vector)] pairs, in order.
   
   +h(2, "shape") Vectors.shape
       +tag property
  
positive.code: +table(["Name", "Type", "Description"])
      +row
          +cell #[code data]
          +cell #[code numpy.ndarray] / #[code cupy.ndarray]
          +cell
              |  Stored vectors data. #[code numpy] is used for CPU vectors,
              |  #[code cupy] for GPU vectors.
  
negative.code:     |  dimensions in the vector table.
  
  +aside-code("Example").
      vectors = Vectors(shape(1, 300))
      vectors.add(u'cat', numpy.random.uniform(-1, 1, (300,)))
      rows, dims = vectors.shape
      assert rows == 1
  