The test code ``` unsigned int ui = 42u; unsigned long ul = 42u; value["unsigned int"] = ui; value["unsigned long"] = ul; ``` [does not compile ](http://coliru.stacked-crooked.com/a/4aed8a115bb4eeee)because of ambiguity. To remove the ambiguity, [additional constructors must be added](http://coliru.stacked-crooked.com/a/594633c556ee93f0).