- document the methods - is there a reason the building methods own the arg instead of excl borrowing - add a kind of `build` method and an intermediate `...Builder` type to make the type system cleaner a bit