my class Whatever {
    multi method ACCEPTS(Whatever:D: $topic) { True }
    multi method perl(Whatever:D:) { '*' }
}

my class HyperWhatever {
    multi method ACCEPTS(HyperWhatever:D: $topic) { True }
    multi method perl(HyperWhatever:D:) { '**' }
}

sub HYPERWHATEVER (&c) { sub (*@_) { map &c, @_ } }

# vim: ft=perl6 expandtab sw=4

my class Whatever {
    multi method ACCEPTS(Whatever:D: $topic) { True }
    multi method perl(Whatever:D:) { '*' }
    multi method Numeric(Whatever:D:) { Inf }
}

my class HyperWhatever {
    multi method ACCEPTS(HyperWhatever:D: $topic) { True }
    multi method perl(HyperWhatever:D:) { '**' }
}

sub HYPERWHATEVER (&c) { sub (*@_) { map &c, @_ } }

# vim: ft=perl6 expandtab sw=4

Make Whetever.new == Inf True
Make Whetever.new == Inf True

It occurred to me that we have many places in the core setting where we are
checking for whether a value is either Whatever or Inf.  It also occurred
to me that adding a Numeric method for Whatever would make such a check much
easier, because it would just allow you to say:

  sub a($value) { say "foo" if $value == Inf }

and pass either a(*) or a(Inf) would give the desired effect.  Before
applying this new capability, I thought I'd get it out in the world first.
