New handle of error

Why wrap the string into a polymorphic variant?  This raises the questions:
1. Do you expect to add more cases in the future?
2. Why a polymorphic variant and not simply a variant?