Add some unit tests that verify we can pass all kinds of primitive types through val::as