code: func (r *GormWorkItemTypeRepository) Load(ctx context.Context, id uuid.UUID) (*WorkItemType, error) {
  	defer goa.MeasureSince([]string{"goa", "db", "workitemtype", "load"}, time.Now())
  	log.Debug(ctx, map[string]interface{}{
  		"wit_id": id,
  	}, "Loading work item type")
  	res, ok := cache.Get(id)
  	if !ok {
  		log.Info(ctx, map[string]interface{}{
  			"wit_id": id,
  		}, "Work item type doesn't exist in the cache. Loading from DB...")
  		res = WorkItemType{}
  
  		db := r.db.Model(&res).Where("id=?", id).First(&res)
  		if db.RecordNotFound() {
  			log.Error(ctx, map[string]interface{}{
  				"wit_id": id,
  			}, "work item type not found")
  			return nil, errors.NewNotFoundError("work item type", id.String())
  		}
  		if err := db.Error; err != nil {
  			return nil, errors.NewInternalError(ctx, err)
  		}
  		childTypes, err := r.loadChildTypeList(ctx, res.ID)
  		if err != nil {
  			return nil, errs.Wrapf(err, `failed to load child types for WIT "%s" (%s)`, res.Name, res.ID)
  		}
  		res.ChildTypeIDs = childTypes
  		cache.Put(res)
  	}
  	return &res, nil
  }
docs: // Load returns the work item for the given spaceID and id
  // returns NotFoundError, InternalError