On the use of updates when calling theano.scan in PyMC3

The function theano.scan returns two outputs that are the result of the loop (usually called result) and a dictionary of update that is usually called update. See the signature below:

result, updates = theano.scan(fn, outputs_info, non_sequences=A)`

According to this tutorial (see example 1):

the second output details if and how the execution of the Scan updates any shared variable in the graph. It should be provided as an argument when compiling the Theano function.

It says later that:

If updates is omitted, the state of any shared variables modified by Scan will not be updated properly. Random number sampling, for instance, relies on shared variables. If updates is not provided, the state of the random number generator won’t be updated properly and the same numbers might be sampled repeatedly. Always provide updates when compiling your Theano function.

Now, when I look at the two example in the PyMC3 documentation about the use of scan, we can see that update is usually omitted (see for instance PyMC3 implementation using theano.scan on this page).
Isn’t it in contradiction with what is recommended in the theano documentation?


I think this is fine because the expression in question is not updating any shared variables in that case. If it were, you would be correct.