The only allowable difference is precision of coordinates. Python uses
a precision of 7 digits where possible, which corresponds to the
precision of OSM data.
Also fixes some smaller bugs found by the BDD tests.
Use adapted types for the different result types. This makes it
easier to have adapted output formatting and means there are only
result fields that are filled.