And throughout the file we seemed to have done this with all sorts of function signatures - why?