the second one is on the child, and is needed so that all contexts see the values I guess.

Hmm, or maybe not, given that environments are inherited. That's worth a try, but I thought I found a bug related to this on the current master