Added fun and letfun macro