Is there any additional checking done an integer vs number. Or should integer just be seen as a useful alias for number? In testing it seems like you can pass non-integer values to something with type integer without warning, but I am not sure if there is something else helpful happening in the background?