Today I've moved onto these topic areas. I now see the benefit of this: there is no need to keep copying the code to create each new instance(however copy and paste do seem to be 2 of my most favourite functions on the modern day PC). That said it seems to get mind-bogglingly complicated when you look deeper into the subject. For example using the same name for a slightly different function, perhaps with a different combination of value-types.