Greiner, S. “Run-Time Manipulation of Programs in a Statically-Typed Language”. Informatica, vol. 33, no. 3, https://puffbird.ijs.si/index.php/informatica/article/view/256.