=begin pod

=TITLE class X::Parameter::Default

=SUBTITLE Compilation error due to an unallowed default value in a signature

    class X::Parameter::Default does X::Comp { }

Compile-time error thrown when a parameter in a signature has default value,
but isn't allowed to have one. That is the case with slurpy parameters
(because a slurpy always binds successfully, even to zero arguments)
and with mandatory parameters.

Example:

    sub f($x! = 3) { }

Produces

    ===SORRY!===
    Cannot put default on required parameter $x

And

    sub f(*@ = 3) { }

produces

    Cannot put default on anonymous slurpy parameter

=head1 Methods

=head2 method how

Returns a string describing how the parameter is qualified that makes
it disallow default values, for example C<"slurpy"> or C<"mandatory">.

=head2 method parameter

Returns the parameter name

=end pod
