"Thrown when declarations are applied with invalid or incompatible type arguments.
Also throw when trying to apply member declarations with no containers, or toplevel
declarations with a container.
For example if you try to apply `Foo` with `String`, hoping to get a `Foo<String>`
but the type parameter for `Foo` only accepts types that satisfy `Numeric`.
"
shared class TypeApplicationException(String message) extends Exception(message){}