These kinds of macros are used often. I wonder if we should create a central place in libcork for utility functions and macros.