Понимать ядро ​​`Fn.const`

Core lib Джейн Стрит имеет такую ​​функцию:Fn.const.

https://github.com/janestreet/core_kernel/blob/master/lib/fn.ml

let const c = (); fun _ -> c

val const: 'a ->' b -> 'a
производит функцию, которая просто возвращает свой первый аргумент

Я действительно не понимаю этого.

Какова цель этой функции? В каком сценарии мы должны это использовать?Зачем ставить(); первый?Почему бы не написать это какlet const c = fun () -> c? это даст функцию принятияunit как параметр и всегда возвращает начальныйc.Если я сделаюlet f = const 5, f станет функцией, которая принимает'_a в качестве параметра. Какова цель возврата функции со слабым полиморфным параметром?

постскриптум Я вижу, что несколько функций внутриFn модуль у всех есть(); перед возвратом функции, что такое использование();?

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

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