More consistent builder/constructor pattern
In summary we should change things so that builders are never returned from a new()
function on the main type but from a builder()
function, and new()
is only ever a constructor for the type itself.
Should be possible to find all instances of this by checking for the clippy warning override to allow returning non-Self
from new()
functions.
CC @fengalin