Design on extending val(E) to include error messages