Питання наступне. Як правило, коли у вас є такий термін, як , ми можемо усунути forall, застосувавши цей термін до типу, наприклад .
Тепер, припустимо, це стрілка, і ми хочемо надати їй аргумент, тоді нам потрібно було б застосувати цей термін до належного типу, таким, щоб він міг отримати такий аргумент. Ось що я запитую, чи можу я автоматизувати: чи можна побудувати функцію з двома членами і повернути такий тип, що надає нам тип, необхідний для заміни в t таке, що t може прийняти аргумент r ?
Деякі приклади:
.