The `ValueExtractor` has two downsides: * it "pollutes" the stored procedure interface with library classes other than annotations * it makes the presence of a `ResultSet` obvious and leaves the handling to the client