Loop fusion failed

Yes, the dataset is unbalanced. There are seven race years (2013-2019) and 108 runners. Each runner might have run a number of races 0 to 10 to each race year. Lets say a runner run 1 race in 2013, 3 races in 2017 and 2 races in 2019. So i wanted to create only the needed “variables” ( tensors/subtensors).
If i do something like the following…
There are 7 means of racetime , one for each race year
meanYear = pm.StudentT(“meanYear”,nu=3, mu=meanRacetime,sigma=240,shape=7)

and if for every runner i create his means of race time for every year
meanRunner = pm.StudentT(“meanRunner”, nu=3, mu=meanYear,sigma=240,shape=(108,7))

and finally i use the runner index and year index
Y_obs = pm.StudentT(“Runner”,nu=3,
mu=meanRunner[runner_idx,year_idx],sigma=240,observed=run_data.RaceSeconds)

then if i do trace_plot for runner 0 who has run in 2013,2014,2015 (0,1,2) he will have 7 means instead of 3. I wanted to avoid these extra 4 means for him and have just 3.
That’s why i was creating each variable for each runner with the needed shape inside a for loop. A runner should have only 1 mean ( if he had run various races only in one year) another runner should have 3 means (if he had run various races in 3 years).
Is there a way to avoid the for loop? With my previous installation the for loop was running (it was very slow but produced properly), but since i installed bambi it must have updated some libraries and it runs only for a small number (<20). That’s why i asked if there is a more proper way.
Thanks again.