Merge "Allow Throwable to represent errors" into main