>>Now pooling is obviously not a concern for us here, but I don't think we should assume that the client gets to work with our implementations of datbase/sql/driver interfaces directly.
>
>Why not, and would it help if the type assertion was to an interface, not a concrete type?

Because the implementation in `database/sql` can, as far as I can tell, interpose its own types wherever interfaces are returned and delegate to the concrete types of a given `database/sql/driver` implementation. So no, interfaces won't help.

I'm not saying this won't work, but I don't believe it's guaranteed to always work in the future, since it's depending on specific implementation semantics.of the `database/sql` framework.