Hiding internal state in TypeScript objects | Dark Hacker News