{{(str 1M)}} 产生 {{"1"}}
{{(str {:a 1M})}} 产生 {{"{:a 1M}"}}
后缀丢失是因为 {{str}} 直接调用 {{.toString}}:{{java.lang.BigDecimal}} 对 {{M}} 后缀一无所知。
在 map 上的 {{.toString}} 调用 {{RT.print}},它递归地调用 {{RT.print}} 来打印键和值。{{RT.print}} 对于 {{java.lang.BigDecimal}} 有一个特殊处理,所以它会打印后缀。