Fix user specified features in map
`.map` didn't keep the user specified features because of an issue in the writer.
The writer used to overwrite the user specified features with inferred features.

I also added tests to make sure it doesn't happen again.