Почему сравнение результатов функции является недопустимым исключением в Erlang?

Почему это незаконно?

min1_e_( F, X, E) ->
    if 
        F( X + 2*E ) < F( X + E ) ->   % ?
            min1_e_( F, X, E*2 );
        true ->
            E
    end.

Я имею в виду, если я определяю обе части выражения по отдельности, это прекрасно работает. Но сравнение возвращаемых функций должно быть тривиальным, не так ли? Думаю, я упускаю что-то еще под этим.

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

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