const определена в Prelude как:
const x _ = x
В ghci, когда я попытался
Prelude> const 6 5 -> Gives 6
Но когда я попробовал
Prelude> const id 6 5 -> Gives 5
Даже при внесении изменений, например
Prelude> (const id 6) 5 -> Gives 5
Если эта функция не дает 6
как вывод, поскольку функция id имеет тип id :: a -> a
, и это должно связываться как
Prelude> (const 6) 5 -> Gives 6
Почему функция const работает по-другому?