All non-programming errors should descend from XYPathError