Change Incrementable to Counter, and separate out MemoizedCounter