human
Here's a good function header given the following:
I wrote the below code

    def decorator(cls):
        prop_obj = UIProperty(prop, default=default, bindtypes=bindtypes, type=type, public=public)
        if (not hasattr(cls, '_properties')):
            cls._properties = {}
        cls._properties = cls._properties.copy()
        cls._properties[prop] = prop_obj
        def get(self):
            return self.properties[prop]
        def set(self, value):
            self.properties_dirty[prop] |= (self.properties[prop] != value)
            self.properties[prop] = value
        _property = property(get, set, None, doc)
        if (not hasattr(cls, prop)):
            setattr(cls, prop, _property)
        return cls
    return decorator

What's a good function header?
assistant
#Here's a good function header.

@public
def p(prop, default=None, bindtypes=[], type=unicode, public=True, doc=None):