+This class provides a generic API for messages (the so-called I<reports>) generated by the parser, filtered by the tool and the command, and handled by the action.
+The tool has authority for deciding in which subclass of this one reports should be blessed.
+
+Reports are classified by I<kinds>.
+The C<Diag> kind is reserved for diagnostics.
+
+=cut
+
+use base qw<Test::Valgrind::Carp>;
+
+=head2 C<new>
+
+ my $tvr = Test::Valgrind::Report->new(
+ kind => $kind,
+ id => $id,
+ data => $data,
+ );