This is a good list, but I'm trying to understand the following in better detail:
> [12] Be conservative on APIs and liberal with implementations.
> [18] Maintain multiple implementations in test for APIs; compare results between them. The cost is worth it (it will help with correctness, and also prevent leakage of implementation detail).
The word implementation is thrown out a lot. What does implementation mean in these quotes? The databases used (ie. dependency injection), the endpoints (ie. /user, /user/123), or something else?
I'm trying to visualize this in my head and am having trouble.