Instead of using function overloading, which can make the codebase more complex, developers use functional options to provide a flexible interface that can be extended without breaking the existing API. https://pastenow.net/page/writing-better-code-in-go-with