<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def describe(value):
 """Describe any value as a descriptor. Helper function for describing any object with an appropriate descriptor object. Args: value: Value to describe as a descriptor. Returns: Descriptor message class if object is describable as a descriptor, else None. """

    if isinstance(value, types.ModuleType):
        return describe_file(value)
    elif isinstance(value, messages.Field):
        return describe_field(value)
    elif isinstance(value, messages.Enum):
        return describe_enum_value(value)
    elif isinstance(value, type):
        if issubclass(value, messages.Message):
            return describe_message(value)
        elif issubclass(value, messages.Enum):
            return describe_enum(value)
    return None