Do you think that if we remove the Serializable constraint from T and only document that `results` should be `Serializable` than we can live with only one implementation of `Page`?  Yes, this brings us back to an earlier discussion but I think this would be feasible given an `Iterable<Blob>` that converts the `BlobInfo` to `Blob` in `Iterator#next` calls and now that you can get `Storage` from `StorageOptions`. 