
Result of TYPE:


 
Coersion set:     
    'a9 |> 'a11, 
    'a7 |> 'a11->'a12, 
    'a12 |> 'a10, 
    'a9->'a10 |> 'a8, 
    'a7->'a8 |> 'a6
Type environment: 
Expression:       (fn f =>(fn x =>(f @ x)))
Type:             'a6


Result of MATCH:


 
Coersion set:     
    'a9 |> 'a11, 
    'a13->'a14 |> 'a11->'a12, 
    'a12 |> 'a10, 
    'a9->'a10 |> 'a17->'a18, 
    ('a13->'a14)->'a17->'a18 |> ('a21->'a22)->'a23->'a24
Type environment: 
Expression:       (fn f =>(fn x =>(f @ x)))
Type:             ('a21->'a22)->'a23->'a24