not being a complete expert, I can only suggest you take my opinion with a pinch of salt.
I believe that when you pass in a Float or Double it won't cause a problem, but when you try to return that value you passed in, it will cause a comiler failure, as Float or Double ain't an Integer.
if you pass in a Float,
you should imagine the method like this
you cannot return a Float when an Integer is expected
Sok