
Back to the issue of default vs. non-default constructible polygons, I believe that while the boost geometry library may choose to define a polygon data type that may not be default constructible, it cannot make that choice for legacy polygon types. We have to assume that the library's generic interfaces will work with polygons that are default constructible and that the library's algorithms need to be implemented in a way that is robust to all kinds of things that might normally be considered an invariant of a well designed polygon class.
Indeed, my preference towards non-default constructors is available for a class but becomes much less ideal when it comes to generalize it to a concept. In that precise context, runtime checks inside the algorithms are probably preferable. Bruno