Template literals
Suppose we have an object type.
type T = { foo: stringstring
bar: number baz: boolean}type A = `{ keyof T }_changed`type WatchCallback = (newValue: any) => voidtype WatchEventId = `${string & keyof Type}_changed`type WatchEvent<Type> = { on(eventName: `${string & keyof Type}_changed`, callback: WatchCallback): void}type WatchedObject<Type> = Type & WatchEvent<Type>function makeWatchedObject<Type>(obj: Type): WatchedObject<Type> { const watched = obj as WatchedObject<Type> watched.on = (eventName: string, callback) => { } return watched}type WrapWithNewlines<T extends string> = `\n${T}\n`type NumericString<T extends string> = `${T}` extends `${number}` ? T : nevertype Absolute<T extends number | string> = `${T}` extends `-${infer R}` ? NumericString<R> : NumericString<`${T}`>It is even possible to encode protocol buffers with this method.