* Allow converter.optional to take a converter such as converter.pipe as its argument
* Only turn optional into a Converter if needed
* Move call to Converter constructor to the end of optional()
The constructor consumes __annotations__, so move the constructor call to after those have been set on the optional_converter function
* Update tests/test_converters.py
* Update tests/test_converters.py
---------
Co-authored-by: Hynek Schlawack <hs@ox.cx>