def initialize(self, value=()):
        """\
        initialize returns a cleaned value or the default, raising ValueErrors
        as necessary.
        """
        if value == ():
            try:
                return self.default()
            except TypeError:
                return self.default
        else:
            return self.clean(value)