fix #245, always reuse existing value even UseNumber expose DecoderOf and EncoderOf suport encode map[interface{}]interface{}