its cool but the API would be so much cooler if you could just place it in a cell with a template tag literal e.g.
jsdoc`
annotatedSourceCode = `
/**
* Creates an array of elements split into groups the length of \`size\`.
* If \`array\` can't be split evenly, the final chunk will be the remaining
* elements.
*
* @static
* @memberOf _
* @since 3.0.0
* @category Array
* @param {Array} array The array to process.
* @param {number} [size=1] The length of each chunk
* @param- {Object} [guard] Enables use as an iteratee for methods like \`_.map\`.
* @returns {Array} Returns the new array of chunks.
* @example
*
* _.chunk(['a', 'b', 'c', 'd'], 2);
* // => [['a', 'b'], ['c', 'd']]
*
* _.chunk(['a', 'b', 'c', 'd'], 3);
* // => [['a', 'b', 'c'], ['d']]
*/
`
with the assumption that the implementation would be in a different Observablehq cell.
I was playing with it but it seems JSDoc cannot represent complex objects are arguments. So my search for an API documentation tool continues (maybe JSONSchema?)