I'm fascinated to learn that powershell has dynamic scoping! I'd thought dynamic scoping had totally fallen out of favour in new languages.