fn mk_cycle<CTX, V, R>(
    tcx: CTX,
    error: CycleError,
    handler: HandleCycleError,
    cache: &dyn QueryStorage<Value = V, Stored = R>
) -> Rwhere
    CTX: QueryContext,
    V: Debug + Value<CTX::DepContext>,
    R: Clone,