I think the most usual way in a project is to use this style. Wrap is a simple way to let you get Result type without refactoring your implementation.
https://musicq.gitbook.io/unwrapit/recipe/return-result-with...
https://musicq.gitbook.io/unwrapit/recipe/return-result-with...