Does... `self._function` ever get applied?  Or is this a purely recursive mask?  I must be losing something in layers of abstraction