this man
The same code generates different circuits depending on which types we specify for the polymorphism