I can buy that.  In which case:

````python
def zero(self, r):
    """Zero the boundary condition nodes on ``r``.
    
    :arg r: a :class:`.Function` to which the boundary condition
         should be applied.

    """
    if isinstance(r, types.Matrix):
        raise NotImplementedError('Zeroing bc nodes on a Matrix not defined')

    self.homogenize()
    self.apply(r)
    self.restore()
````
?