Error currently requires Display, while .unwrap() requires Debug.
I'm unsure of what each should require, but I think they should agree so that it is possible to have code which returns Result<_, Box<Error>> (which is useful to allow try! across functions returning different types of error codes), and be able to .unwrap() the results.