Is it possible to do some rudimentary string manipulations, as you're converting literal unions to type names?
Example:
type Strings = "Fork" | "Spoon";
type GetMethods = { // I want this to be automatically generated basing on Strings
getFork: Function,
getSpoon: Function
}