dialect: rewrite optional
- Make it easier to read the class :
- Move members at the begining of the class
- Extract method definitions
- Improve the code by adding attributes
- Improve some methods by taking valueness of the object into account
- Add comparisons to contained values
Edited by Alexis Colin