When thinking of trick in typescript, we think from this order: 1. eslint / linting => use eslint to achieve something impossible in typescript and javascript 2. typescript hack => trick the typescript interpreter 3. javascript hack => use javascript to achieve something impossible in typescript