Я надеюсь объявить универсальную функцию, которая разрешает тип значения, а не полный набор типов переданного параметра.
getProp<V>(value :V) : V
{ return value; }
// This has return type <string>, but I want return type <"test">
getProp("test");
// This has correct return type, but require explicit generic parameter.
// Also, I have several generic parameters, and then I have to state them all...
getProp<"test">("test");