As a beginning jazz player one of the things I have a hard time with is memorizing the changes for tunes. There's a big difference between a 7 chord rock song and a jazz tune with 25 different chords, which can be changed and substituted and all that jazz. I'm amazed by my teachers ability to play a whole bunch of tunes by memory all while comping in very interesting ways all while keeping a great groove. How do you guys go about memorizing the changes to tunes? What about if you need to change keys for a singer or something like that?