Hacker News new | ask | show | jobs
by dsymonds 3007 days ago
That's true, but the standard library also has strictures about backward compatibility that have ossified some bad choices. The crypto examples you give are arguably exactly this; even the later ones are probably a mistake, but are at least consistent with what can't be changed.
1 comments

context also returns context.Context (an interface), and sql returns driver.Value, an interface.
context.Context is an interface because it is known there are multiple implementers (several in the context package itself). The sql driver.Value is actually the other way around: the sql package is the consuming package (for the driver).