/**
* @callback genericFunction
* @returns {void}
*/
/**
* @template T
* @callback genericReturnFunction
* @returns {T}
*/
/**
* @template P
* @callback genericParamFunction
* @param {P} param
* @returns {void}
*/
/**
* @template P, R
* @callback genericParamReturnFunction
* @param {P} param
* @returns {R}
*/
/**
* @template P, E
* @callback genericThrowsParamFunction
* @param {P} param
* @returns {void}
* @throws {E}
*/