Allow non-string primitives to be set by val/text