`stringify(parse('?%20&'))` yields only `&`. Bit of an edge-case I admit, but do we want to be losing this information? `parse('?%20&')` yields `{"":null," ":null}`.