Low-level functions that can fail should use error codes instead of printing messages themselves
For example the functions in ParametricCoordinates.h take a reference to a worklet and raise an error on it. It may be more useful for the callers, if these functions returned an error code, so that they can choose how to handle them.
The functions WorldCoordinatesToParametricCoordinates
call NewtonsMethod
for some cell types. Their result may be invalid or inaccurate (didn't converge). Currently this information is not returned to the user and error codes may be a good way to implement this.