Rename type class to Tabulate, add Memoize type class.