pub type MemoCache<T> = Rc<RefCell<HashMap<usize, HashMap<String, (Vec<Value>, T)>>>>;
dictionary of memoized functions
struct MemoCache<T> { /* private fields */ }