Implement mapKeysMonotonic and mapKeysWith.

I'm not really sure about the complexity estimate or the implementation, so there might be a better way to do it, maybe someone else can help ?
For a monotonic function I just used ``` id ``` when testing, I will update it when I have a little more time on my hands.