Is there a situation where you would want this to be different than `isinstance(obj, Parameter)`?  I.e., do we want people to be able to use any descriptor, or force them to subclass Parameter?  I would kind of be in favour of the latter, it imposes a bit more structure (e.g. making them support the default system).