better thought-out warnings/errors (including implementing an idea by mithaldu)