More abstraction in Memoize
immaterial comments