рдХрд╣реЛ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ
interface Applicative<T> {}
рдЕрдм рдореИрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди f рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ:
Function
рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рд▓реЗрддрд╛ рд╣реИ U
рдПрдХ Applicative
рд░реИрдкрд┐рдВрдЧ any
U
рд░реИрдкрд┐рдВрдЧ Function
рдореЗрд░реЗ рднреЛрд▓реЗ-рднрд╛рд▓реЗ рдкреНрд░рдпрд╛рд╕ рдереЗ
function f<U extends Applicative>(fn: Function, a: U<any>): U<Function>
рддрдерд╛
function f<T, U<T> extends Applicative<T>>(fn: Function, a: U<any>): U<Function>
рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ
рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬреЗрдиреЗрд░рд┐рдХ рдПрдХ рдЬреЗрдиреЗрд░рд┐рдХ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдирд╣реАрдВ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрдЪреНрдЪ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
#1213 рдХрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдФрд░ рд╢рд╛рдпрдж рдЕрдиреНрдпред
#1213 рдХрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдФрд░ рд╢рд╛рдпрдж рдЕрдиреНрдпред
рд╣рд╛рдБ рдпрд╣реА рд╣реИред рдЗрд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ