def operate_on_full(self, operation, *alpha_masks):
        """Return new mask by operating on full alpha values.

        Works by traversing the full alpha values of all
        masks performing an operation in the values in the
        same position, using the results as the full alpha
        values for a new mask which is returned.

        This method is used to produce partial
        implementations for specific operations.

        Parameters
        ==========

        operation (callable)
            the full alpha values in the same position,
            from the masks, are passed to this function
            in the form of a tuple; thus, it must accept
            a single argument.
        alpha_masks (masking.alpha.AlphaMask instances)
            one or more alpha masks instances which, along
            with this instance, will have their full alpha
            values in the same position passed together to
            the given operation.
        """
        return (
            ### return new AlphaMask instance from the full
            ### alpha values obtained
            self.__class__.from_full_alpha_values(
                ## get full alpha values from
                ## this function
                map_alpha_at_same_positions(
                    ## which, receives an operation
                    operation,
                    ## and also the full alpha
                    ## values from this mask as
                    ## well as from the given ones
                    *(mask.full_alpha_values for mask in (self, *alpha_masks))
                )
            )
        )
Return new mask by operating on full alpha values.

        Works by traversing the full alpha values of all
        masks performing an operation in the values in the
        same position, using the results as the full alpha
        values for a new mask which is returned.

        This method is used to produce partial
        implementations for specific operations.

        Parameters
        ==========

        operation (callable)
            the full alpha values in the same position,
            from the masks, are passed to this function
            in the form of a tuple; thus, it must accept
            a single argument.
        alpha_masks (masking.alpha.AlphaMask instances)
            one or more alpha masks instances which, along
            with this instance, will have their full alpha
            values in the same position passed together to
            the given operation.
        
nodezator/alphamask/masksop.py