functor index
Memoize
class index