pub fn use_memo_one<D: 'static + PartialEq, T: 'static>(
    func: fn(_: &Rc<D>) -> Rc<T>,
    dep: Rc<D>
) -> Rc<T>