#
## Memoize functions and methods
#

require('Memoize')

func memoize(Block f) {
    f{:code} = %S<Memoize>.memoize(f{:code})
}

func unmemoize(Block f) {
    f{:code} = %S<Memoize>.unmemoize(f{:code})
}