Returning an interface in Golang will reduce type safety and increase complexity of your code. Instead of returning an interface, you should return a concrete type and pass it directly to a function that accepts an interface your concrete type implements.