this would reduce memory footprint a lot for large result sets. Is there some catch to implementing this?