<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_el(cls, el, value):
 """ Set given `el` tag element to `value`. Automatically choose proper method to set the `value` based on the type of the `el`. Args: el (obj):
 Element reference to the input you want to convert to typeahead. value (list):
 List of dicts with two keys: ``source`` and ``val``. """

        if not el:
            return

        tag_name = el.elt.tagName.lower()
        if tag_name == "textarea":
            cls._set_textarea(el, value)
        elif tag_name == "input":
            if "typeahead" in el.class_name.lower():
                cls._set_typeahead(el, value)
            else:
                cls._set_input(el, value)
        elif tag_name == "select":
            el.value = value
        else:
            raise ValueError(
                "Setter for %s (%s) not implemented!" % (tag_name, el.id)
            )