Fixed header dependecies
Support containers inside optional type
Support for variant type. Closes #16