Improved polymorphic reads

* Used flatMap to compose
* Implemented reuse between geoJsonFormat and geometryFormat