index.js(2,19): error TS2315: Type 'Boolean' is not generic.
index2.js(2,19): error TS2315: Type 'Void' is not generic.
index3.js(2,19): error TS2315: Type 'Undefined' is not generic.
index4.js(2,19): error TS2315: Type 'Function' is not generic.
index5.js(2,19): error TS2315: Type 'String' is not generic.
index6.js(2,19): error TS2315: Type 'Number' is not generic.
index7.js(2,19): error TS2315: Type 'Object' is not generic.
index8.js(4,15): error TS2304: Cannot find name 'T'.


==== index.js (1 errors) ====
    /**
     * @param {<T>(m: Boolean<T>) => string} somebody
                      ~~~~~~~~~~
!!! error TS2315: Type 'Boolean' is not generic.
     */
    function sayHello(somebody) {
        return 'Hello ' + somebody;
    }
    
==== index2.js (1 errors) ====
    /**
     * @param {<T>(m: Void<T>) => string} somebody
                      ~~~~~~~
!!! error TS2315: Type 'Void' is not generic.
     */
    function sayHello2(somebody) {
        return 'Hello ' + somebody;
    }
    
    
==== index3.js (1 errors) ====
    /**
     * @param {<T>(m: Undefined<T>) => string} somebody
                      ~~~~~~~~~~~~
!!! error TS2315: Type 'Undefined' is not generic.
     */
    function sayHello3(somebody) {
        return 'Hello ' + somebody;
    }
    
    
==== index4.js (1 errors) ====
    /**
     * @param {<T>(m: Function<T>) => string} somebody
                      ~~~~~~~~~~~
!!! error TS2315: Type 'Function' is not generic.
     */
    function sayHello4(somebody) {
        return 'Hello ' + somebody;
    }
    
    
==== index5.js (1 errors) ====
    /**
     * @param {<T>(m: String<T>) => string} somebody
                      ~~~~~~~~~
!!! error TS2315: Type 'String' is not generic.
     */
    function sayHello5(somebody) {
        return 'Hello ' + somebody;
    }
    
    
==== index6.js (1 errors) ====
    /**
     * @param {<T>(m: Number<T>) => string} somebody
                      ~~~~~~~~~
!!! error TS2315: Type 'Number' is not generic.
     */
    function sayHello6(somebody) {
        return 'Hello ' + somebody;
    }
    
    
==== index7.js (1 errors) ====
    /**
     * @param {<T>(m: Object<T>) => string} somebody
                      ~~~~~~~~~
!!! error TS2315: Type 'Object' is not generic.
     */
    function sayHello7(somebody) {
        return 'Hello ' + somebody;
    }
    
==== index8.js (1 errors) ====
    function fn() {}
    
    /**
     * @param {fn<T>} somebody
                  ~
!!! error TS2304: Cannot find name 'T'.
     */
    function sayHello8(somebody) { }