It's a very simple algebraic data type, and factoring it out into a template doesn't carry its weight.