This code: ``` (: apply_i (-> Int (-> Int Int) Int)) (= (apply_i $x $f) ($f $x)) ``` compiles, while this code (with another order of arguments) ``` (: apply_i (-> (-> Int Int) Int Int)) (= (apply_i $f $x) ($f $x)) ``` doesn't compile, which seems like a bug