accept a value object in CgVar constructor