Что сравнимый означает в вязе?

У меня проблемы с пониманием, что именноcomparable находится в вязе Вяз кажется таким же растерянным, как и я.

На REPL:

> f1 = (<)
<function> : comparable -> comparable -> Bool

Такf1 принимает сопоставимые.

> "a"
"a" : String
> f1 "a" "b"
True : Bool

Ну, это похожеString сопоставим.

> f2 = (<) 1
<function> : comparable -> Bool

Такf2 принимает сопоставимые.

> f2 "a"
As I infer the type of values flowing through your program, I see a conflict
between these two types:

    comparable

    String

ТакString является а такжене является сравнимый?
Почему типf2 неnumber -> Bool? Какие другие сопоставимые могутf2 принимать?

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

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