-<ul>
-<li>
-A \link ctfirfieldtypes field type\endlink is a template for creating
-a concrete \link ctfirfields field\endlink.
-<p>
-For example, an integer field type contains the size (in bits) of the
-integer fields it describes, as well as their byte order, whether or not
-they are signed, and so on. An integer field created out of an integer
-field type, however, only contains a raw integer value. You can create
-many fields from a single field type template.
-
-<li>
-An \link ctfireventclass event class\endlink is a template for
-creating a concrete \link ctfirevent event\endlink.
-<p>
-An event class contains the field types of its various scopes, while an
-event contains the actual fields holding their values.
-
-<li>
-A \link ctfirstreamclass stream class\endlink is a template for
-creating a concrete \link ctfirstream stream\endlink.
-<p>
-A stream class contains the field types of its various scopes, while
-\link ctfirpacket packets\endlink attached to a
-\link ctfirstream stream\endlink instantiated from a
-stream class contains the actual
-fields holding their values. <p> A stream class is the parent of one or
-more event classes.
-
-<li>
-A \link ctfirtraceclass trace class\endlink describes traces.
-<p>
-A trace class is the parent of one or more stream classes.
-
-<li>
-A \link ctfirclockclass clock class\endlink holds the common properties
-of clock values that are instantiated in \link ctfirevent events\endlink.
-</ul>
-
-Some parts of the API require typical scalar value objects (boolean,
-integer, floating point number, string) and compound value objects
-(array, map). For example, the environment of a
+- A \link ctfirfieldtypes field type\endlink is the type of concrete
+ \link ctfirfields fields\endlink.
+
+ For example, an integer field type contains the size (in bits) of the
+ integer fields it creates, as well as their byte order, whether or not
+ they are signed, and so on. An integer field that you create out of an
+ integer field type, however, only contains a raw integral value. You
+ can create many fields from a single field type.
+
+- An \link ctfireventclass event class\endlink is the type of
+ a concrete \link ctfirevent event\endlink.
+
+ An event class contains the field types of its various scopes, while
+ an event contains the actual fields holding their values.
+
+- A \link ctfirstreamclass stream class\endlink is the type of
+ a concrete \link ctfirstream stream\endlink.
+
+ A stream class contains the field types of its various scopes, while
+ \link ctfirpacket packets\endlink attached to a
+ \link ctfirstream stream\endlink instantiated from a
+ stream class contains the actual
+ fields holding their values. <p> A stream class is the parent of one or
+ more event classes.
+
+
+- A \link ctfirtraceclass trace class\endlink describes traces.
+
+ A trace class is the parent of one or more stream classes.
+
+- A \link ctfirclockclass clock class\endlink holds the common
+ properties of clock values that are instantiated in \link ctfirevent
+ events\endlink.
+
+@section mainpagevalues Value objects
+
+Some parts of the Babeltrace API require typical, generic scalar values
+(boolean, integer, floating point number, string) organized in compound
+objects (array, map). This is similar to the model that
+<a href="http://json.org/">JSON</a> offers.
+
+For example, the environment of a