=begin pod

=TITLE class X::TypeCheck::Splice

=SUBTITLE Compilation error due to a macro trying to splice a non-AST value

    class X::TypeCheck::Splice is X::TypeCheck does X::Comp { }

Compile time error thrown when a L<Macro> or an unquote/hole in a C<quasi>
quote does not return an L<AST>.

For example

    macro a { 'foo' }
    say a

dies with

    ===SORRY!===
    Type check failed in macro application; expected AST but got Str

To fix, instead write

    macro a {
        quasi { 'foo' }
    }
    say a;              # foo

=head1 Methods

=head2 method action

    method action() returns Str:D

Returns a verbal description of the action that triggered the error,
C<"macro application"> or C<"unquote evaluation">.

=end pod
