Convenience type for users to define version tags (Version<1>, Version<2>, ...), but it's usage is not mandatory, the user can define custom version tags on it's own, e.g.: struct v1 {}; struct v2 {}; both being also valid version tags, that may be utilized with Terse.