the .toString
of this object, except by making it separate we force
the implementer to provide something and stop them from accidentally
leaving it as the meaningless default.
the .toString
of this object, except by making it separate we force
the implementer to provide something and stop them from accidentally
leaving it as the meaningless default.
A filter as an abstract class, letting you provide a filter instead of an
op
, automatically providing a good.toString
for debugging, and providing a reasonable "place" inside the inheriting class/object to put state or helpers or other logic associated with the filter.