macro expansion with replace_all.
compile time evaluation in macro using ~.