Ok, the Vector Concept looks obvious as it would be probably exactly the same as Point.Yep, as I said one question is: should vector_type<point> just return point by default, and users interested in vector/point differentiation would have to state it by specializing the metafunction (or calling a convenience macro)? or should it enforce point/vector differentiation straight away? Personally, for backward compatibility and "simplicity by default" reasons, I'd vote for the former.