<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load(parser, serializer):
 """Returns a dictionary of builtin functions for Fortran. Checks the cache first to see if we have a serialized version. If we don't, it loads it from the XML file. :arg parser: the DocParser instance for parsing the XML tags. :arg serializer: a Serializer instance from the CodeParser to cache the loaded XML file. """

    fortdir = os.path.dirname(fortpy.__file__)
    xmlpath = os.path.join(fortdir, "isense", "builtin.xml")
    if not os.path.isfile(xmlpath):
        return {}

    changed_time = os.path.getmtime(xmlpath)
    cached = serializer.load_module("builtin.xml", changed_time)
    if cached is None:
        result = _load_builtin_xml(xmlpath, parser)
        serializer.save_module("builtin.xml", result, changed_time)
    else:
        result = cached

    return result