@@ -13,17 +13,17 @@ export namespace Apply {
1313}
1414
1515export function ap < F extends ApplyInstances , A , B > ( fab : $ < F , ( a : A ) => B > , fa : $ < F , A > ) : $ < F , B > {
16- let instance = ( < any > Functor ) [ kind ( fab ) ]
17- let faba : $ < F , [ ( a : A ) => B , A ] > = instance . product ( fab , fa )
18- return instance . map ( ( aba : [ ( a : A ) => B , A ] ) => aba [ 0 ] ( aba [ 1 ] ) , faba ) as $ < F , B >
16+ let instance = Apply [ kind < F > ( fab ) ] as Apply < F >
17+ let faba = instance . product < ( a : A ) => B , A > ( fab , fa )
18+ return instance . map ( ( aba : [ ( a : A ) => B , A ] ) => aba [ 0 ] ( aba [ 1 ] ) , faba )
1919}
2020
2121export function ap2 < F extends ApplyInstances , A , B , C > ( fabc : $ < F , ( a : A , b : B ) => C > , fa : $ < F , A > , fb : $ < F , B > ) : $ < F , C > {
22- let instance : any = Apply [ kind ( fabc ) as F ]
23- return instance . ap (
22+ let instance = Apply [ kind < F > ( fabc ) ] as Apply < F >
23+ return ap < F , [ A , B ] , C > (
2424 instance . map (
2525 ( f : ( a : A , b : B ) => C ) => ( ( [ a , b ] : [ A , B ] ) => f ( a , b ) )
2626 , fabc )
27- , instance . product ( fa , fb )
28- ) as $ < F , C >
27+ , instance . product < A , B > ( fa , fb )
28+ )
2929}
0 commit comments