:asvalue now returns an error string rather than emitted an error