When a function field use another function field the latter is computed twice
It happens sometimes that a function fields depends on another function fields but that it's not manageable to use the names
trick to compute them all at once. In order to have better performances it would be useful to prevent the recomputation of the "base" function fields when possible.
The attached patch does so by adding the concept of reading priority on function fields and by sharing the dictionary used for the local_cache
when computing them.