Apparently it can be made to work with non-templates as well, see https://dpaste.dzfl.pl/c4b7a8b6978b.
Oh, that's the buggy area. The compiler keeps parameter names for runtime delegates... but it also reuses the structures. Thus, in simple examples, it works, but outside that it becomes very unreliable.
Parameter names are NOT part of a delegate's type. But an alias parameter to a template is a different story!