in reply to This is not a pipe

How abstract do you want it?

ref($this) ne 'Pipe'; ref($_) ne 'Pipe'; # $_ is a topicaliser, so is "this" - thus, "th +is" == "$_" ! UNIVERSAL::can($this, 'smoke'); $_->can('smoke');
Perl 6 ok?
!.isa('Pipe');
Just wondering.

Update: Missed the ! on the perl6 code.