Ну тут тоже такое себе. Условно - тебе в сеттер приходит IP-адрес
127.0.0.1, а тебе нужен IP внешнего DNS-сервера. По логике-то ты должен послать желающего присвоить не то в пешее эротическое, но с :lvalue точно этого сделать не сможешь. Да и проверка класса аргумента, даже если бы она была для :lvalue, ничего бы не дала: ну да, это IP-адрес, но в данном конкретном случае он вообще не в дугу, нельзя такое присваивать. А на каждый случай из 100500 писать наследуемые от Value::IP::Address классы - ну такое себе