Represent functions using higher-order asbtract syntax (HOAS) *using macros to save names*