Macro.to_string/1 for maps and struct AST