At the moment the SqlReader and SqlService don't have any type safety. It makes sense to allow programmers to use generics for these classes where appropriate to reduce the risk of classcast exceptions and to also make the code easier to ready as types are already known.