It's implemented as if the types were reified: getting the real type parameters of the corresponding FunctionN class