Language design question: what type should `while True {}` have?
Bottom: It doesn't contain any `break` statements.
Unit: Treat loops with/without `break` consistently.
I already have lints that warn on unreachable code after diverging loops, so the Unit case feels surprising.
I'm adding a += operator to my programming language, because writing `x = x + 1` is tedious.
This opens the tricky design question of which operators should support this. Is += and -= sufficient, or do you expect things like >>= and **= to be available?
An overlooked PL question: what is easy to try in a given language? In lisp it's easy to try adding extra syntax. In Rust it's easy to try parallelism on iterators (rayon).
Are there other examples? Perhaps Perl and regexes or Haskell and STM?