Yes, exactly. But, I think it makes more sense to codify the special structure of the Dict/DataFrame in a subtype, rather than using functions to convert between generics.
Maybe consolidating around GeoInterface feature collections could do this. So, for example, I'm thinking that GeoJSON.parsefile("test.json", FeatureCollection) targets the FeatureCollection type and GeoJSON.parsefile("test.json", GeoDataFrame) would target some subtype of DataFrame with a geometry field.
This way, we can leverage changes to JuliaGeometry primitives, while retaining a coherent "destination" for raw Julia IO as well as whatever OGR wrapper is made.