Thank you, I understand now! **In case of inner procs, the generic context is already defined for them coming from the outer proc and you don 't need to redefine it (but if you introduce new generic parameters).**
If the compiler had issued a warning that I was redefining already existing generic variables in the inner procs, it would have given me a hint of the problem. I had tried using other generic variable names in the inner procs without success and I was stuck with that strange compiler error message about generic instanciation... Now it make sense. Perhaps this rule about generic scope and inner procs should be listed in the documentation. Thanks again @hyl and @mashingan!
