Refactor around the macro definitions into 3 files. Both converter and s...

...etter support Options
We can, though we should then probably add a new clause so the error isn't strange about it being an unsupported type?