@paulfryzel 
> Also, "... a function with no output returns void ..."; I was under the impression it returned undefined. Is this not the case or is void used under-the-hood in a way I don't understand?

I was referring to the way you define functions in typed languages to express that they don't return anything, i.e.

`void strcpy(char* src, char *tgt)` -- assuming `strcpy` returns doesn't return anything.