Also did fmt, and forgot to separate the commits so now the diff is ugly.
Doing it in Rust, might perhaps also learn Zig.