I agree 100%, but here's a plot twist:
- Don't fall in the trap of early abstraction...
- and abstracting one single use case is very hard, if not impossible...
- but you are writing your app in Go and interfaces are the only way to properly test your stuff...
- The end.