=========== Application =========== foo (A B : *) (f : A -> B) (x : A) := (fun (x : B) => x) (f x); --- (program (definition (identifier) (param_block (identifier) (identifier) (expr (app_term (app (term (star)))))) (param_block (identifier) (expr (arrow (app_term (app (term (identifier)))) (expr (app_term (app (term (identifier)))))))) (param_block (identifier) (expr (app_term (app (term (identifier)))))) (expr (app_term (app (term (expr (app_term (labs (param_block (identifier) (expr (app_term (app (term (identifier)))))) (expr (app_term (app (term (identifier))))))))) (term (expr (app_term (app (term (identifier)) (term (identifier)))))))))))