Shifting and reflecting (and stretching) functions

From this card:
https://trello.com/card/shifting-and-reflecting-functions/5166dc745b4dc7926c000a71/55

Submitting a pull request to get feedback