Appearance
Two constructors (or values) provide the same type, so the container can't choose. Both are named. Reported at boot.
app := web.New(web.Provide(OpenDB, OpenTestDB)) // both return *DB
app := web.New(web.Provide(OpenDB))