While trying to make decorators do something they can’t do and doing some research, I found another nice article on functional programming in python. It is always interesting to read about memoization - which ties into dynamic programming (think programming contests)
http://www.brianholdefehr.com/decorators-and-functional-python