Useful erlang macros