def _copy_default(cls, default):
        ''' Return a copy of the default, or a new value if the default
        is specified by a function.

        '''
        if not isinstance(default, types.FunctionType):
            return copy(default)
        else:
            return default()