code: func URLParts(ctx context.Context, r *http.Request) (context.Context, []string) {
  	if ctx == nil {
  		ctx = context.Background()
  	}
  
  	if parts, ok := ctx.Value("scaffold_url_parts").([]string); ok {
  		return ctx, parts
  	}
  
  	parts := pathSplit(r.URL.Path)
  
  	ctx = context.WithValue(ctx, "scaffold_url_parts", parts)
  	return URLParts(ctx, r)
  }
docs: // URLParts spliths a path into parts and caches it in the context