Premier contre-contre-exemple
On pourrait décider, quand un texte est trouvé, de conserver tout le contexte dans lequel il a été trouvé.
Dans l'exemple précédent, la recherche du texte p aurait retourné le contexte complet :

Mais on introduirait alors d'autres effets de bord.
Par exemple, on définit les textes k et X :
def k = "K0"
def X
def a = (use k)
def b = (use a
(def k = "K1"))
a est paramétré par k.b fournit explicitement le paramètre k ("K1").C'est pourtant la définition de k "la plus externe" ("K0") qui sera prise.
En effet, on évalue b dans l'environnement global :

On évalue la représentation de b :

On évalue l'environnement local d'utilisation :
![]()
On indique ici le contexte dans lequel on trouve le texte a :

On évalue alors la représentation de a dans ce contexte :

(use k) s'évalue alors en : "K0" et non en : "K1".
L'inconvénient majeur que l'on peut voir ici est qu'on ne peut plus avoir de vision locale des textes. Une vision locale de l'exemple est la suivante :
def a = (use k)
def b = (use a
(def k = "K1"))
Les déclarations regroupées des textes a et b admettent une interprétation simple : k est un paramètre de a instancié par b, ce qui se révèle être faux quand on sait que dans les environnements supérieurs on a déjà défini un texte k.
Deuxième contre-contre-exemple
On peut souhaiter effectivement réaliser un effet de bord. Par exemple :
def a
def x = "X0"
def m = (use x)
def c = (use m
(def x = "X1")
(ref a))
x est un pseudo-paramètre de m (c'est bien un paramètre de m, mais il est défini dans le même environnement que m : "du point de vue de a", m n'est pas paramétré) ;c, on utilise le texte m, le long du chemin : (ref a), en modifiant explicitement le pseudo-paramètre x, qui a donc alors le comportement d'un paramètre.On peut remarquer ici encore que le cas présenté est assez particulier :
m, pour lequel le paramètre x est normalement instancié, mais qu'on redéfinit spécialement pour l'utilisation ;(use m (ref a)), mais on ajoute une autre définition locale à cette utilisation : l'effet de bord observé est donc ici encore détectable.Si on garantit l'ordre de recherche – indispensable dans l'exemple – on peut alors masquer des déclarations par des redéfinitions. Dans tous les cas, puisque l'on définit un environnement local qui n'est pas une simple expression de chemin, on sait qu'on se place dans une situation où pourront se produire des effets de bord non voulus.
Remarque
Il serait toujours loisible d'assurer un contrôle de visibilité des identificateurs : il suffit en effet de vérifier qu'à un même niveau on n'a pas deux définitions du même identificateur. On pourrait donc prévoir l'envoi d'un message de mise en garde, qui permettrait à l'utilisateur d'avoir connaissance des zones sensibles.
Par exemple, dans le (contre-)exemple précédent, sachant qu'on a trouvé la définition de x dans d, on n'a à rechercher une éventuelle autre définition de x que dans la zone grisée :

x ;x ne saurait être vue comme une possibilité d'effet de bord imprévisible.