TypeSpec: a Practical TypeScript-Inspired API Definition Language