Add Memoize2 and associated variants