Why are svelte derived stores always recreated on get()?

Now this is more directed towards Svelte authors I suppose, but I just recently fully realized that derived stores are constantly recreated on get.

Example

I thought they’d only be recreated when the inputs would change — not every time a get is called. Especially weird is that if the derived stores are linked, the whole tree is traversed.

I do get that the derived stores should always return the exact same value for the same input but if someone, with no time to think too deeply about it, would depend on the derived store to only be recomputed on the original store change it would cause rather strange bugs.