In response to review feedback on JDK-8175335, a general comment was made that
"The methods in Types that throw IAE could be clarified. Where they now say "if given a type for an executable, package, or module", they really mean "if given a mirror that does not represent a suitable type for the operation". The Types spec could say "Utility methods for operating on types. Most methods operate on primitive types, reference types (including array types and the null type), intersection types, and the pseudo-type 'void'. Executable types and the pseudo-types for packages and modules are generally out of scope for these methods."
http://mail.openjdk.java.net/pipermail/compiler-dev/2017-February/010819.html
This clarification can be considered with larger review of the Types portion of the API (JDK-8055219).