def is_writable_attr(ext):
default, method, getter, setter = ext<EOL>if setter is not None or default is not None or all(e is None for e in ext):<EOL><INDENT>return True<EOL><DEDENT>return False<EOL>
Check if an extension attribute is writable.
    ext (tuple): The (default, getter, setter, method) tuple available  via
        {Doc,Span,Token}.get_extension.
    RETURNS (bool): Whether the attribute is writable.