The class Arr_segment_traits_2<Kernel> is a traits class for handling arrangements of line
segments that uses the geometric kernel intensively.
The Arr_segment_traits_2<Kernel>::Curve_2 type (as well
as the Arr_segment_traits_2<Kernel>::X_monotone_curve_2 type) is
actually the Kernel::Segment_2 type, while the various predicates
and constructions supported by the traits class actually wrap the
kernel implementations.
The Kernel must use a number type that supports exact computations
with rational numbers, such as Quotient<Gmpz> or leda_rational.
Other inexact representations can be used at the user's own risk.