code: func CacheLoad(c context.Context, b backend.B, k Key, v *Value) (rv *Value, err error) {
  	switch k.Op {
  	case OpGet:
  		rv, err = doGet(c, b, k.ConfigSet, k.Path, v, k.Params())
  	case OpGetAll:
  		rv, err = doGetAll(c, b, k.GetAllTarget, k.Path, v, k.Params())
  	default:
  		return nil, errors.Reason("unknown operation: %v", k.Op).Err()
  	}
  	if err != nil {
  		return nil, err
  	}
  	return
  }
docs: // CacheLoad loads k from backend b.
  //
  // If an existing cache value is known, it should be supplied as v. Otherwise,
  // v should be nil.
  //
  // This is effectively a Loader function that is detached from a given cache
  // instance.