=begin pod

=TITLE class Submethod

=SUBTITLE Member function that is not inherited by subclasses

    class Submethod is Routine { ... }

A Submethod is a method that is not inherited to child classes. They are
typically used for per-class initialization and tear-down tasks which are
called explicitly per class in an inheritance tree, usually for enforcing a
particular order. For example object construction with the C<BUILD> submethod
happens from the least-derived to most-derived, so that the most-derived
(child) classes can depend on the parent already being initialized.

Submethods are of type C<Submethod>, and are declared with the C<submethod>
declarator:

    class Area {
        has $.size;
        submethod BUILD(:$x, :$y, $z) {
            $!size = $x * $y * $z;
        }
    }

=head1 Methods

=head2 method flurb

    method flurb(Submethod: *@args --> Str)

method description here

=comment TODO

=end pod
