Implement tagged union for Derivation semantic values