Self-optimizing data structures: using types to make lists faster | Hacker News Reader