It is number -> number -> number, but I think it should be number -> number -> Float because you can get a non-integer even when you pass two integers to the function. The following code compiles without errors in Elm 0.16 (which is in my opinion wrong):