First off, I'm incredibly excited to see kotlinx-datetime moving forward again! Thank you!
I'm with @Mike Digman here, but totally understand the want to correct for some of these issues. Personally, I think a clean builder API may be best in addition since everytime I make a date formatter I'm usually caching it for a long time or putting it in a instance variable. I'm not a fan of recreating them 1000s of times. I think other formats are interesting but at this point I don't know how quickly the adoption will go just because it will take time.
If it helps some of the most common issues I see with date time formatters (almost every time) are:
1. M (Month) vs m (minute)
2. Optional parts being handled awkwardly. For instance [:mm] doesn't work the same way for 0 minutes as it does with other parts of the date. 9:00AM vs 9am
3. I will often render AM PM and 100% of the time need to lower case it. It is a pain to get javas formatter to do that without specially configuring a format token, so I end up lowercasing the whole string after formatting with a time format like "h:mma".
Between numbers 2 and 3 above we end up with a nasty looking date format code that has formats with/without minutes and a lowercase stuck on it. Happy to share more if it helps, but I feel like these are common friendly formats in the US at least and I can't be the only one running into it. Any solution that improves those kinds of things I'm absolutely open to.