Route metadata
var rolesKey = meta.NewKey[[]string]("roles")
func Roles(r ...string) dygo.RouteOption { return rolesKey.Set(r) }
r = r.Use(Roles("user")) // controller levelr.Delete("/{id}", dygo.Handle(c.Delete), Roles("admin")) // route level
roles, ok := rolesKey.Get(ec) // route value, else controller valueall := meta.GetAllAndMerge(ec, rolesKey) // controller + route: ["user", "admin"] // joined at startup and shared: do not modify