Field defaults

The cleanest way to deal with this, I think, is to always have a init function that accepts an option struct. To initialize something to its default state (whatever that means), you do this:

const bar: Bar = .init(.default);

If it’s something that can be empty, you can make it so by doing this:

const bar: Bar = .init(.empty);

Translated into English, “initialize an instance of Bar using the default options and save the result to bar” is far clearer than “bar is an instance of Bar–it’s initialized”.

With this arrangement, programmers always know where to look in the documentation. It’s always going to the under init.