What we don't do (but I wish we would; that's just my personal top-3, though):
1. Various optimizations for local functions, starting from local function inlining. Not implemented yet mostly because it doesn't provide much benefit for Java-like code.
2. Comprehensions for collections. They are not just a syntax sugar, since they allow compiler to take a higher-level approach and avoid allocating unnecessary (lazy) collections when possible.
3. Value classes. Yet again, this is a language feature that affects performance (ranges and similar collection-like classes, delegates, ...). Depends on Project Valhalla.