a semi-usable tagged_variant type
Merge branch 'master' into algorithms-reboot
merge from master