How ChiselStrike generates its TypeScript client API
blog.chiselstrike.com