def example_instance(cls, skip=()):
        """
        Generate an example instance of a Serializable subclass.

        If traits have been tagged with an `example` value, then we use that
        value.  Otherwise we fall back the default_value for the instance.

        Traits with names in ``skip`` will not have example values set.
        """
        kwargs = {}
        for name, trait in iteritems(cls.class_traits()):
            if name in skip:
                continue
            value = trait.example_value
            if value is Undefined:
                continue
            kwargs[name] = value

        return cls(**kwargs)
Generate an example instance of a Serializable subclass.

        If traits have been tagged with an `example` value, then we use that
        value.  Otherwise we fall back the default_value for the instance.

        Traits with names in ``skip`` will not have example values set.