Secrets of 'unknown' Types in TypeScript