I don't really understand Rust's `loop {}` syntax. It's syntactic sugar for `while true {}` but it feels odd to have special syntax for this case. The name `loop` also doesn't imply 'loop with no termination condition' to me (other than break/continue).