func Components.DocFunction(fn)
{
    var fnText = "func ";
    for(var i = 0; i < fn.NameParts.Length; i++)
    {
        if(i > 0) fnText += ".";
        fnText += fn.NameParts[i];
    }
    fnText += "(";
    for(var i = 0; i < fn.Arguments.Length; i++)
    {
        if(i > 0) fnText += ", ";
        fnText += fn.Arguments[i];
    }
    fnText += ")";
    
    return <div>
        <if(fn.Documentation.Length > 0)>
        <true>
        {"/^"}
        <raw(Net.Http.HtmlEncode(fn.Documentation).Replace("\n",<br>))>
        {"^/"}
        <br>
        </true>
        </if>
        <code>
            {fnText}
        </code>
    </div>;
}