Migrate article python memoize decorator from coderwall