What's the best way to attach functions to a TypeScript interface? - Theo's Typesafe Cult