This seems overly complicated. Why do you change the variable in the Poly? And why do we need Lambda?