Returning private structs, as this linter advises, is cumbersome to the caller. They are private for a reason, so a caller should be interested only in behavior (interface).
Linter should allow returning public interface instead of private type with single interface.
Also, worth adding that returning private structs is considered an error by revive linter.
Implementing this will likely resolve #21