docs: function(word, labels) {
      let links = this.root.links
      let text = word.text
      // If the word has tags, it is a parameter.
      if (word.tags.length > 0) {
        links = this.root.paramLinks
        text = word.tags[0]
      }
      if (links.has(text)) {
        // That word already exists.
        // Use it, and complement it with the word's tags.
        let node = links.get(text).target
        labels.forEach(label => {
          if (!node.labelTags.has(label)) {
            node.labelTags.set(label, [])
          }
          let tags = node.labelTags.get(label)
          word.tags.forEach(tag => {
            if (tags.indexOf(tag) === -1) {
              tags.push(tag)
            }
          })
        })
        return node
      } else {
        links.set(text, new Link(this.brain,
          new Node(this.brain, word, labels, this.root)))
        return links.get(text).target
      }
    }