docs: function Definition(type, name, node, parent, index, kind) {
        /**
         * @member {String} Definition#type - type of the occurrence (e.g. "Parameter", "Variable", ...).
         */
        this.type = type;
        /**
         * @member {esprima.Identifier} Definition#name - the identifier AST node of the occurrence.
         */
        this.name = name;
        /**
         * @member {esprima.Node} Definition#node - the enclosing node of the identifier.
         */
        this.node = node;
        /**
         * @member {esprima.Node?} Definition#parent - the enclosing statement node of the identifier.
         */
        this.parent = parent;
        /**
         * @member {Number?} Definition#index - the index in the declaration statement.
         */
        this.index = index;
        /**
         * @member {String?} Definition#kind - the kind of the declaration statement.
         */
        this.kind = kind;
    }