in reply to Behaviour on recursive use

I suppose recursive 'uses' should be avoided in general cases...

Well, it can't be avoided in many cases. Numerous modules use other modules, so that you can end up with a fairly complicated dependency tree. The good thing about use is that if the dependency tree calls the same modules several times, the module will be loaded only once. Having said that, you obviously have to be a bit careful with the order in which you load modules, and it can sometimes be an headache if the dependency tree is large.