Haskell, умножая Int и Float внутри функции

Почему в ghci я могу ввести:

5.0 * (3 - 1)
> 10.0

Но если я попытаюсь создать функцию в файле .hs и загрузить ее в:

test :: Float -> Int -> Int -> Float
test a b c = a * (b - c)

У меня ошибка с ошибкой? "Не удалось найти ожидаемый типПоплавок» против предполагаемого типаInt»? И как я могу написать функцию, которая принимает один с плавающей запятой и 2 целочисленных аргумента и выполняет вышеуказанную операцию над ними?

Я использую ghci v6.12.1, если это имеет значение ...

Ответы на вопрос(4)

Ваш ответ на вопрос