<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>JSON 모듈 — 데이터스케쳐스 위키</title>
  <meta name="description" content="JSON 모듈 JSON 모듈은 JSON 인코딩과 디코딩을 담당해요. 인코더와 디코더 모두 RFC 8259과 ECMA 404 표준을 완전히 따릅니다. 출처: JSON 본문 Elixir의 데이터를 JSON으로 인코딩할 때는 다음 표를 기준으로 매핑돼요. 인코딩 Elixir" />
  
  <link rel="canonical" href="https://data-sketchers.com/wiki/tech-stack.languages.elixir.json" />
  

  <!-- Hreflang (KO/EN + x-default) — 대안 언어는 koUrl/enUrl(없으면 생략) -->
  <link rel="alternate" hreflang="ko" href="https://data-sketchers.com/wiki/tech-stack.languages.elixir.json" />
  <link rel="alternate" hreflang="en" href="https://data-sketchers.com/en/wiki/tech-stack.languages.elixir.json" />
  <link rel="alternate" hreflang="x-default" href="https://data-sketchers.com/wiki/tech-stack.languages.elixir.json" />

  <!-- Open Graph -->
  <meta property="og:type" content="website" />
  <meta property="og:site_name" content="DataSketchers" />
  <meta property="og:title" content="JSON 모듈 — 데이터스케쳐스 위키" />
  <meta property="og:description" content="JSON 모듈 JSON 모듈은 JSON 인코딩과 디코딩을 담당해요. 인코더와 디코더 모두 RFC 8259과 ECMA 404 표준을 완전히 따릅니다. 출처: JSON 본문 Elixir의 데이터를 JSON으로 인코딩할 때는 다음 표를 기준으로 매핑돼요. 인코딩 Elixir" />
  <meta property="og:url" content="https://data-sketchers.com/wiki/tech-stack.languages.elixir.json" />
  <meta property="og:image" content="https://data-sketchers.com/assets/logo-black.png" />
  <meta property="og:image:width" content="2172" />
  <meta property="og:image:height" content="724" />
  <meta property="og:image:alt" content="JSON 모듈 — 데이터스케쳐스 위키" />
  <meta property="og:locale" content="ko_KR" />
  <meta property="og:locale:alternate" content="en_US" />

  <!-- Twitter -->
  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:title" content="JSON 모듈 — 데이터스케쳐스 위키" />
  <meta name="twitter:description" content="JSON 모듈 JSON 모듈은 JSON 인코딩과 디코딩을 담당해요. 인코더와 디코더 모두 RFC 8259과 ECMA 404 표준을 완전히 따릅니다. 출처: JSON 본문 Elixir의 데이터를 JSON으로 인코딩할 때는 다음 표를 기준으로 매핑돼요. 인코딩 Elixir" />
  <meta name="twitter:image" content="https://data-sketchers.com/assets/logo-black.png" />
  <meta name="twitter:image:alt" content="JSON 모듈 — 데이터스케쳐스 위키" />

  <!-- Organization JSON-LD — th:inline 금지(파싱 오류): 사이트 url 을 컨트롤러가 organizationJson 으로 주입.
       주입이 없으면 고정 생략(페이지별 통합 시 site/json 주입). -->
  <script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"DataSketchers","url":"https://data-sketchers.com","logo":"https://data-sketchers.com/assets/logo-black.png","sameAs":["https://github.com/data-sketchers"]}</script>
  <!-- 페이지별 커스텀 JSON-LD (BlogPosting/Article/BreadcrumbList) — 호출측에서 pageJson 통째로 주입 -->
  <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":"1","name":"Home","item":"jdbc:postgresql://pg-dev.data-sketchers.dev:23452/data-sketchers-wiki?user=data-sketchers-land&password=OZcV%2Brr7rTR7vVJgDFkq6gFsZcBXyoKb1bBsEDIJw12%2BC6uo&sslmode=prefer/wiki/"},{"@type":"ListItem","position":"2","name":"tech-stack.languages.elixir.json","item":"jdbc:postgresql://pg-dev.data-sketchers.dev:23452/data-sketchers-wiki?user=data-sketchers-land&password=OZcV%2Brr7rTR7vVJgDFkq6gFsZcBXyoKb1bBsEDIJw12%2BC6uo&sslmode=prefer/wiki/tech-stack.languages.elixir.json"}]},{"@type":"Article","headline":"JSON 모듈","description":"JSON 모듈 JSON 모듈은 JSON 인코딩과 디코딩을 담당해요. 인코더와 디코더 모두 RFC 8259과 ECMA 404 표준을 완전히 따릅니다. 출처: JSON 본문 Elixir의 데이터를 JSON으로 인코딩할 때는 다음 표를 기준으로 매핑돼요. 인코딩 Elixir","mainEntityOfPage":"jdbc:postgresql://pg-dev.data-sketchers.dev:23452/data-sketchers-wiki?user=data-sketchers-land&password=OZcV%2Brr7rTR7vVJgDFkq6gFsZcBXyoKb1bBsEDIJw12%2BC6uo&sslmode=prefer/wiki/tech-stack.languages.elixir.json","url":"jdbc:postgresql://pg-dev.data-sketchers.dev:23452/data-sketchers-wiki?user=data-sketchers-land&password=OZcV%2Brr7rTR7vVJgDFkq6gFsZcBXyoKb1bBsEDIJw12%2BC6uo&sslmode=prefer/wiki/tech-stack.languages.elixir.json","dateModified":"2026-09-15T10:40:12.162136Z"}]}</script>

  <link rel="icon" type="image/png" href="/assets/favicon.png" />
  <link rel="preconnect" href="https://cdn.jsdelivr.net" />
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css" />
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap" />
  <link rel="stylesheet" href="/ds/tokens.css" />
  <!-- 원본 디자인 시스템 재현 (기존 대비 95%+ 목표) -->
  <link rel="stylesheet" href="/ds/base.css" />
  <link rel="stylesheet" href="/ds/components.css" />
  <link rel="stylesheet" href="/ds/post.css" />
  <link rel="stylesheet" href="/ds/effects.css" />
  <script src="/ds/effects.js" defer></script>
  <script src="/ds/threads.js" defer></script>
</head>
<body>
  <html>
<header id="site-header" class="site-header">
  <div class="site-header__inner">
    <a href="/" class="site-header__logo" aria-label="DataSketchers 홈" data-logo-host>
      <img class="site-header__logo-word" src="/assets/logo-data-sketchers-light-bg.png" alt="" width="153" height="51" style="height:48px;width:auto" />
    </a>
    <nav class="site-header__nav" aria-label="주 메뉴">
      <!-- DB 관리 헤더 메뉴 (site_menu source-of-truth). 항목이 children 을 가지면 서브메뉴 렌더 -->
      <div class="site-header__nav-wrap">
        
        
          <a href="/about" class="site-header__nav-item">회사소개</a>
        
      </div>
      <div class="site-header__nav-wrap">
        
        
          <a href="/blog" class="site-header__nav-item">블로그</a>
        
      </div>
    </nav>
    <div class="site-header__utils">
      <button class="site-header__menu-btn" data-menu-open aria-label="전체 메뉴 열기" aria-expanded="false">
        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
          <line x1="4" y1="8" x2="20" y2="8" /><line x1="4" y1="16" x2="20" y2="16" />
        </svg>
      </button>
    </div>
  </div>
</header>

<!-- 전체 메뉴(햄버거) 풀 스크린 오버레이 — 데스크톱·모바일 모두 동작. hamburger_menu (DB) 기반 -->
<div class="site-menu-overlay" data-menu-overlay aria-hidden="true">
  <div class="site-menu-overlay__scrim" data-menu-close></div>
  <div class="site-menu-overlay__panel" role="dialog" aria-modal="true" aria-label="전체 메뉴">
    <div class="site-menu-overlay__head">
      <a href="/" class="site-menu-overlay__logo" data-menu-close>
        <img src="/assets/logo-data-sketchers-light-bg.png" alt="DataSketchers" width="132" height="44" style="height:36px;width:auto" />
      </a>
      <button class="site-menu-overlay__close" data-menu-close aria-label="전체 메뉴 닫기">
        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" /></svg>
      </button>
    </div>
    <nav class="site-menu-overlay__nav" aria-label="전체 메뉴 목록">
      <h2 class="site-menu-overlay__title">전체 메뉴</h2>
      <div class="site-menu-overlay__group">
        <a href="/about" class="site-menu-overlay__group-title"
           data-menu-close>회사소개</a>
        
      </div>
      <div class="site-menu-overlay__group">
        <a href="/services" class="site-menu-overlay__group-title"
           data-menu-close>사업영역</a>
        
      </div>
      <div class="site-menu-overlay__group">
        <a href="/products" class="site-menu-overlay__group-title"
           data-menu-close>D-SKET</a>
        <div class="site-menu-overlay__subs">
          <a href="/products/webbuilder"
             class="site-menu-overlay__sub" data-menu-close>웹빌더</a><a href="/products/canvas"
             class="site-menu-overlay__sub" data-menu-close>Canvas</a><a href="/products/events"
             class="site-menu-overlay__sub" data-menu-close>Events</a>
        </div>
      </div>
      <div class="site-menu-overlay__group">
        <a href="/clients" class="site-menu-overlay__group-title"
           data-menu-close>고객사</a>
        
      </div>
      <div class="site-menu-overlay__group">
        <a href="/blog" class="site-menu-overlay__group-title"
           data-menu-close>블로그</a>
        
      </div>
      <div class="site-menu-overlay__group">
        <a href="/" class="site-menu-overlay__group-title"
           data-menu-close>위키</a>
        
      </div>
      <div class="site-menu-overlay__group">
        <a href="/press" class="site-menu-overlay__group-title"
           data-menu-close>보도자료</a>
        
      </div>
      <div class="site-menu-overlay__group">
        <a href="/esg" class="site-menu-overlay__group-title"
           data-menu-close>ESG</a>
        
      </div>
    </nav>
  </div>
</div>
</html>

  <main class="ds-container" style="padding-top:calc(var(--header-h) + 24px);">
    <div class="wiki-layout" style="padding-top:0;">   <!-- layout CSS(columns/gap) 는 ds/effects.css 의 .wiki-layout 가 담당 -->

      <!-- ═══ 왼쪽: scope tree (재귀, 접기/펼치기) ═══ -->
      <aside id="wiki-scope" class="wiki-scope">
        <div style="padding:12px 12px 10px; font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ds-text-3);">Topics</div>
        <!-- 조상 breadcrumb (root=현재 페이지이므로 위로 이동 경로) -->
        <nav aria-label="위키 경로" style="display:flex; flex-wrap:wrap; gap:4px 2px; align-items:center; padding:0 12px 10px; border-bottom:1px solid var(--ds-line); margin-bottom:8px;">
          <a href="/wiki/tech-stack" style="font-size:11px; color:var(--ds-text-3); text-decoration:none; white-space:nowrap;">기술 스택</a><a href="/wiki/tech-stack.languages" style="font-size:11px; color:var(--ds-text-3); text-decoration:none; white-space:nowrap;">언어 · 런타임</a><a href="/wiki/tech-stack.languages.elixir" style="font-size:11px; color:var(--ds-text-3); text-decoration:none; white-space:nowrap;">Elixir</a>
          <span style="color:var(--ds-line-strong); font-size:10px;">›</span><span style="color:var(--ds-line-strong); font-size:10px;">›</span><span style="color:var(--ds-line-strong); font-size:10px;">›</span>
        </nav>
        <nav aria-label="위키 주제 트리" style="display:flex; flex-direction:column; gap:2px;">
          <ul class="wiki-tree" style="list-style:none; margin:0; padding:0;">
    
      <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      <button type="button" class="wiki-tree__toggle" data-wtree-toggle
              aria-label="하위 토글" aria-expanded="true">▾</button>
      

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir">Elixir</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    <ul class="wiki-tree"
        style="list-style:none; margin:0; padding:0 0 0 14px;">
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.access">Access behaviour</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.agent">Agent</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.agents">에이전트로 단순한 상태 다루기</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.alias-require-and-import">alias, require, import, 그리고 use</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.anonymous-functions">익명 함수</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.api-reference">API Reference</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.application">Application behaviour</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.argumenterror">ArgumentError</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.arithmeticerror">ArithmeticError</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.atom">Atom</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.badarityerror">BadArityError</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.badbooleanerror">BadBooleanError</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.badfunctionerror">BadFunctionError</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.badmaperror">BadMapError</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.base">Base</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.basic-types">기본 타입</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.behaviour">Behaviour</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.binaries-strings-and-charlists">Binaries, strings, and charlists — 바이너리, 문자열과 케릭터 리스트</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.bitwise">`Bitwise`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.calendar">`Calendar`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.calendar-iso">`Calendar.ISO`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.calendar-timezonedatabase">`Calendar.TimeZoneDatabase`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.calendar-utconlytimezonedatabase">`Calendar.UTCOnlyTimeZoneDatabase`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.caseclauseerror">`CaseClauseError`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.case-cond-and-if">case, cond 그리고 if</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.changelog">Elixir v1.20 변경 로그</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.code">`Code`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.code-anti-patterns">코드 관련 안티패턴</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.code-fragment">`Code.Fragment`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.code-loaderror">`Code.LoadError`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.collectable">`Collectable`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.compatibility-and-deprecations">호환성과 폐기(deprecation)</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.compileerror">`CompileError`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.comprehensions">컴프리헨션</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.condclauseerror">`CondClauseError`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.config">`Config`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.config-and-distribution">설정과 분산(Configuration and distribution)</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.config-provider">Config.Provider behaviour</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.config-reader">Config.Reader</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.date">Date</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.date-range">Date.Range</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.datetime">DateTime</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.debugging">디버깅(Debugging)</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.design-anti-patterns">설계 관련 안티패턴(Design-related anti-patterns)</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.dict">Dict</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.docs-tests-and-with">Doctests, 패턴, 그리고 with</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.domain-specific-languages">도메인 특화 언어(DSLs)</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.duration">Duration</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.dynamic-supervisor">동적 자식 감독하기(Supervising dynamic children)</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.dynamicsupervisor">DynamicSupervisor — 동적으로 자식만 시작하는 슈퍼바이저</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.enum">Enum — 컬렉션(Enumerable)을 다루는 함수들</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.enum-cheat">Enum 치트시트 — 컬렉션 작업 함수 빠른 참조</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.enum-emptyerror">Enum.EmptyError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.enumerable">Enumerable 프로토콜</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.enumerable-and-streams">Enum과 스트림: 파이프 연산자로 컬렉션 다루기</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.enum-outofboundserror">Enum.OutOfBoundsError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.erlangerror">ErlangError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.erlang-libraries">Erlang 라이브러리</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.exception">Exception behaviour</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.file">File</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.file-copyerror">File.CopyError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.file-error">File.Error 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.file-linkerror">File.LinkError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.file-renameerror">File.RenameError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.file-stat">File.Stat</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.file-stream">File.Stream</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.float">Float</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.function">Function</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.functionclauseerror">FunctionClauseError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.genevent">GenEvent</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.genserver">GenServer</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.genservers">GenServer로 클라이언트-서버 만들기</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.gradual-set-theoretic-types">점진적 집합 이론 타입</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.hashdict">HashDict</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.hashset">HashSet</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.inspect">Inspect</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.inspect-algebra">Inspect.Algebra</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.inspect-error">Inspect.Error</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.inspect-opts">Inspect.Opts</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.integer">Integer</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.introduction">소개</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.introduction-to-mix">Mix 소개</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.io">IO</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.io-and-the-file-system">IO와 파일 시스템</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.io-ansi">IO.ANSI</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.io-stream">IO.Stream</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.io-streamerror">IO.StreamError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node is-active" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link is-active"
         href="/wiki/tech-stack.languages.elixir.json">JSON 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.json-decodeerror">JSON.DecodeError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.json-encoder">JSON.Encoder 프로토콜</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.kernel">Kernel 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.kernel-parallelcompiler">Kernel.ParallelCompiler 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.kernel-specialforms">Kernel.SpecialForms 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.kernel-typespecerror">Kernel.TypespecError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.keyerror">KeyError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.keyword">Keyword 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.keywords-and-maps">키워드 리스트와 맵</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.library-guidelines">라이브러리 가이드라인</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.list">List 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.list-chars">List.Chars 프로토콜</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.lists-and-tuples">컬렉션: 리스트와 튜플</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.macro">Macro 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.macro-anti-patterns">메타 프로그래밍 안티 패턴</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.macro-env">Macro.Env — 컴파일 시점 환경 정보를 담는 구조체</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.macros">매크로</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.map">Map — Elixir의 키-값 데이터 구조</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.mapset">MapSet — 중복을 허용하지 않는 집합</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.matcherror">MatchError — 패턴 매칭이 실패할 때</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.mismatcheddelimitererror">MismatchedDelimiterError — 구분자가 어긋날 때</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.missingapplicationserror">MissingApplicationsError — 의존하는 애플리케이션이 없을 때</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.module">Module — 모듈을 다루는 함수들</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.module-attributes">모듈 속성</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.modules-and-functions">모듈과 함수: 코드를 조직화하고 재사용하기</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.naivedatetime">NaiveDateTime — 시간대가 없는 날짜·시간</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.naming-conventions">네이밍 규칙</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.node">Node — VM 노드와 관련된 함수</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.operators">연산자 참조</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.optional-syntax">선택 문법</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.optionparser">OptionParser — 명령줄 인자 파싱</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.optionparser-parseerror">OptionParser.ParseError — 옵션 파싱 실패</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.partitionsupervisor">PartitionSupervisor — 같은 자식을 여러 파티션으로 나누는 슈퍼바이저</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.path">Path — 파일 시스템 경로 다루기</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.pattern-matching">패턴 매칭: `=` 연산자와 핀 연산자 `^`</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.patterns-and-guards">Patterns and guards</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.port">Port 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.process">Process 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.process-anti-patterns">Process-related anti-patterns</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.processes">프로세스: 엘릭서의 병행성과 메시지 전달</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.protocol">Protocol behaviour</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.protocols">프로토콜</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.protocol-undefinederror">Protocol.UndefinedError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.quote-and-unquote">Quote and unquote</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.range">Range 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.record">Record 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.recursion">재귀</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.regex">Regex 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.regex-compileerror">Regex.CompileError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.registry">Registry 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.releases">Releases</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.runtimeerror">RuntimeError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.sbom">Software Bill of Materials</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.set">Set 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.sigils">시길</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.stream">Stream — 스트림을 만들고 조합하는 함수들</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.string">String — UTF-8 문자열 다루기</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.string-chars">String.Chars — 구조체를 문자열로 바꾸는 프로토콜</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.stringio">StringIO — 문자열을 감싸는 IO 디바이스</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.structs">구조체</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.supervisor">Supervisor — 슈퍼바이저를 구현하는 behaviour 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.supervisor-and-application">레지스트리와 감독 트리</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.supervisor-spec">Supervisor.Spec — 자식 스펙을 만드는</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.syntaxerror">SyntaxError — 코드 파싱 중 문법 오류 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.syntax-reference">Syntax reference — Elixir 문법 참조</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.system">System — VM과 호스트 시스템에 직접 접근하는 함수들</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.system-enverror">System.EnvError — 시스템 환경 변수가 없을 때의 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.systemlimiterror">SystemLimitError — 시스템 한계에 도달했을 때의 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.task">Task — 태스크를 생성하고 대기하는 편의 함수들</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.task-and-gen-tcp">Task와 gen_tcp</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.task-supervisor">Task.Supervisor — 태스크용 슈퍼바이저</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.time">Time — 하루 중 시각을 다루는 Time 구조체와 함수들</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.tokenmissingerror">TokenMissingError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.try-catch-and-rescue">try, catch 그리고 rescue</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.tryclauseerror">TryClauseError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.tuple">Tuple 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.types-cheat">집합 이론 타입 치트시트</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.typespecs">타입스펙 참조</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.undefinedfunctionerror">UndefinedFunctionError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.unicodeconversionerror">UnicodeConversionError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.unicode-syntax">Unicode 문법</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.uri">URI 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.uri-error">URI.Error 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.version">Version 모듈</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.version-invalidrequirementerror">Version.InvalidRequirementError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.version-invalidversionerror">Version.InvalidVersionError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.version-requirement">Version.Requirement 구조체</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.what-anti-patterns">안티패턴이란?</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.withclauseerror">WithClauseError 예외</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
        <li class="wiki-tree__node" style="margin:0; padding:0;">

    <div class="wiki-tree__row">
      <!-- 접기/펼치기 토글: 자식 보유 노드만. 클릭 = 하위 토글(페이지 이동 없음) -->
      
      <span class="wiki-tree__dot" aria-hidden="true"></span>

      <!-- 제목: 문서 링크 또는 목차 앵커.
           th:if / th:else 는 이 템플릿에서 인접 정합이 깨져 둘 다 렌더되는 버그가 있음(중복 2열 노출).
           반드시 버튼/점 처럼 상호배타 th:if 두 개로 쓴다. -->
      
      <a class="wiki-tree__link"
         href="/wiki/tech-stack.languages.elixir.writing-documentation">문서 작성하기</a>
    </div>

    <!-- 하위 트리: 펼침(isOpen)일 때만 재귀 렌더. 접힌 노드는 빈 placeholder `<ul>` 만 두고
         (data-wtree-lazy = 지연 로드 경로) 펼칠 때 /wiki/tree/{path} 프래그먼트로 로드.
         hidden 속성 금지 — hidden=false 가 요소를 숨김. CSS is-collapsed 로 숨김. -->
    
  </li>
      
    </ul>
  </li>
    
  </ul>
        </nav>
      </aside>

      <!-- ═══ 중앙: 콘텐츠 ═══ -->
      <article class="ds-doc" style="min-width:0;">
        <nav class="ds-breadcrumb" aria-label="breadcrumb" style="padding:12px 0 16px; font-size:12.5px; color:var(--ds-text-3);">
          <a href="/wiki/tech-stack" style="color:inherit; text-decoration:none;">기술 스택</a><a href="/wiki/tech-stack.languages" style="color:inherit; text-decoration:none;">언어 · 런타임</a><a href="/wiki/tech-stack.languages.elixir" style="color:inherit; text-decoration:none;">Elixir</a>
          <span style="color:var(--ds-line-strong);"> › </span><span style="color:var(--ds-line-strong);"> › </span><span style="color:var(--ds-line-strong);"> › </span>
        </nav>
        <h1 style="margin-bottom:20px;">JSON 모듈</h1>
        <!-- 모바일 전용: 목차를 본문 상단(제목 하단)에 항상 펼침 -->
        <nav aria-label="페이지 목차" class="wiki-toc-mobile"
             style="display:none; border-bottom:1px solid var(--ds-line); padding-bottom:12px; margin-bottom:24px;">
          <div class="ds-label" style="font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ds-text-3); margin-bottom:8px;">목차</div>
          <div style="display:flex; flex-direction:column; gap:2px;">
            <a href="#json-모듈" style="padding-left:0px">JSON 모듈</a><a href="#본문" style="padding-left:0px">본문</a><a href="#인코딩" style="padding-left:10px">인코딩</a><a href="#디코딩" style="padding-left:10px">디코딩</a><a href="#주요-타입" style="padding-left:10px">주요 타입</a><a href="#decode1" style="padding-left:10px">decode/1</a><a href="#decode2" style="padding-left:10px">decode/2</a><a href="#decode1" style="padding-left:10px">decode!/1</a><a href="#encode2" style="padding-left:10px">encode!/2</a><a href="#encodetoiodata2" style="padding-left:10px">encode_to_iodata!/2</a><a href="#protocolencode2" style="padding-left:10px">protocol_encode/2</a><a href="#더-알아보기" style="padding-left:0px">더 알아보기</a>
          </div>
        </nav>
        <div><h2 id="json-모듈">JSON 모듈</h2>
<p><code>JSON</code> 모듈은 JSON 인코딩과 디코딩을 담당해요. 인코더와 디코더 모두 <a href="https://tools.ietf.org/html/rfc8259">RFC 8259</a>과 <a href="https://ecma-international.org/publications-and-standards/standards/ecma-404/">ECMA 404</a> 표준을 완전히 따릅니다.</p>
<blockquote>
<p>출처: <a href="https://elixir.hexdocs.pm/JSON.html">JSON</a></p>
</blockquote>
<h2 id="본문">본문</h2>
<p>Elixir의 데이터를 JSON으로 인코딩할 때는 다음 표를 기준으로 매핑돼요.</p>
<h3 id="인코딩">인코딩</h3>
<table>
<thead>
<tr>
<th><strong>Elixir</strong></th>
<th><strong>JSON</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>integer() | float()</code></td>
<td>Number</td>
</tr>
<tr>
<td><code>true | false </code></td>
<td>Boolean</td>
</tr>
<tr>
<td><code>nil</code></td>
<td>Null</td>
</tr>
<tr>
<td><code>binary()</code></td>
<td>String</td>
</tr>
<tr>
<td><code>atom()</code></td>
<td>String</td>
</tr>
<tr>
<td><code>list()</code></td>
<td>Array</td>
</tr>
<tr>
<td><code>%{String.Chars.t() =&gt; _}</code></td>
<td>Object</td>
</tr>
</tbody>
</table>
<p>사용자 정의 데이터 구조는 <code>JSON.Encoder</code> 프로토콜을 구현해서 원하는 형태로 인코딩할 수 있어요. 몇몇 내장 데이터 구조는 이미 <code>JSON.Encoder</code>를 파생하고 있는데, 대표적으로 날짜·시간 계열이에요.</p>
<table>
<thead>
<tr>
<th><strong>Elixir</strong></th>
<th><strong>JSON</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>Date.t()</code></td>
<td>ISO 8601 string</td>
</tr>
<tr>
<td><code>Time.t()</code></td>
<td>ISO 8601 string</td>
</tr>
<tr>
<td><code>DateTime.t()</code></td>
<td>ISO 8601 string</td>
</tr>
<tr>
<td><code>NaiveDateTime.t()</code></td>
<td>ISO 8601 string</td>
</tr>
<tr>
<td><code>Duration.t()</code></td>
<td>ISO 8601 string</td>
</tr>
</tbody>
</table>
<h3 id="디코딩">디코딩</h3>
<p>JSON을 Elixir 타입으로 되돌릴 때는 아래 표처럼 매핑돼요.</p>
<table>
<thead>
<tr>
<th><strong>JSON</strong></th>
<th><strong>Elixir</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Number</td>
<td><code>integer() | float()</code></td>
</tr>
<tr>
<td>Boolean</td>
<td><code>true | false</code></td>
</tr>
<tr>
<td>Null</td>
<td><code>nil</code></td>
</tr>
<tr>
<td>String</td>
<td><code>binary()</code></td>
</tr>
<tr>
<td>Object</td>
<td><code>%{binary() =&gt; _}</code></td>
</tr>
</tbody>
</table>
<h3 id="주요-타입">주요 타입</h3>
<pre><code class="language-elixir">@type decode_error_reason() ::
  {:unexpected_end, non_neg_integer()}
  | {:invalid_byte, non_neg_integer(), byte()}
  | {:unexpected_sequence, non_neg_integer(), binary()}
</code></pre>
<pre><code class="language-elixir">@type encoder() :: (term(), encoder() -&gt; iodata())
</code></pre>
<p>디코딩 동작을 사용자 정의하기 위한 <code>decoders()</code> 타입도 제공돼요. 배열·객체의 시작/푸시/마무리 콜백과 <code>float</code>, <code>integer</code>, <code>string</code>, <code>null</code> 처리 함수를 지정할 수 있어요. 모두 선택 사항이고, 지정하지 않으면 <code>decode/1</code>이 쓰는 기본 구현으로 폴백합니다.</p>
<h3 id="decode1"><code>decode/1</code></h3>
<pre><code class="language-elixir">@spec decode(binary()) :: {:ok, term()} | {:error, decode_error_reason()}
</code></pre>
<p>주어진 JSON을 디코딩해요. <code>{:ok, decoded}</code> 또는 <code>{:error, reason}</code>을 돌려줍니다.</p>
<pre><code class="language-elixir">iex&gt; JSON.decode(&quot;[null,123,\&quot;string\&quot;,{\&quot;key\&quot;:\&quot;value\&quot;}]&quot;)
{:ok, [nil, 123, &quot;string&quot;, %{&quot;key&quot; =&gt; &quot;value&quot;}]}
</code></pre>
<p>에러 튜플은 다음 이유 중 하나를 가져요.</p>
<ul>
<li><code>{:unexpected_end, offset}</code> — <code>binary</code>에 불완전한 JSON 값이 들어 있는 경우</li>
<li><code>{:invalid_byte, offset, byte}</code> — 예상 밖의 바이트 또는 잘못된 UTF-8 바이트가 있는 경우</li>
<li><code>{:unexpected_sequence, offset, bytes}</code> — 잘못된 UTF-8 이스케이프가 있는 경우</li>
</ul>
<h3 id="decode2"><code>decode/2</code></h3>
<pre><code class="language-elixir">@spec decode(binary(), term(), decoders()) ::
  {term(), term(), binary()} | {:error, decode_error_reason()}
</code></pre>
<p>주어진 디코더와 함께 JSON을 디코딩해요. <code>{decoded, acc, rest}</code> 또는 <code>{:error, reason}</code>을 돌려줍니다. 스트리밍 디코딩이 필요하면 Erlang의 <code>:json</code> 모듈을 참고하세요.</p>
<h3 id="decode1"><code>decode!/1</code></h3>
<pre><code class="language-elixir">@spec decode!(binary()) :: term()
</code></pre>
<p>주어진 JSON을 디코딩하되, 오류가 있으면 예외를 던져요.</p>
<pre><code class="language-elixir">iex&gt; JSON.decode!(&quot;[null,123,\&quot;string\&quot;,{\&quot;key\&quot;:\&quot;value\&quot;}]&quot;)
[nil, 123, &quot;string&quot;, %{&quot;key&quot; =&gt; &quot;value&quot;}]
</code></pre>
<h3 id="encode2"><code>encode!/2</code></h3>
<pre><code class="language-elixir">@spec encode!(term(), encoder()) :: binary()
</code></pre>
<p>주어진 term을 JSON 바이너리로 인코딩해요. 두 번째 인자는 term을 재귀적으로 인코딩하기 위해 호출되는 함수예요.</p>
<pre><code class="language-elixir">iex&gt; JSON.encode!([123, &quot;string&quot;, %{key: &quot;value&quot;}])
&quot;[123,\&quot;string\&quot;,{\&quot;key\&quot;:\&quot;value\&quot;}]&quot;
</code></pre>
<blockquote>
<p>💡 네트워크로 보내거나 파일시스템에 저장할 JSON이라면 더 효율적인 <code>encode_to_iodata!/2</code>를 고려해 보세요.</p>
</blockquote>
<h3 id="encodetoiodata2"><code>encode_to_iodata!/2</code></h3>
<pre><code class="language-elixir">@spec encode_to_iodata!(term(), encoder()) :: iodata()
</code></pre>
<p>주어진 term을 JSON iodata로 인코딩해요. IO 목적으로 JSON을 쓸 거라면 가장 효율적인 형식이에요.</p>
<pre><code class="language-elixir">iex&gt; data = JSON.encode_to_iodata!([123, &quot;string&quot;, %{key: &quot;value&quot;}])
iex&gt; IO.iodata_to_binary(data)
&quot;[123,\&quot;string\&quot;,{\&quot;key\&quot;:\&quot;value\&quot;}]&quot;
</code></pre>
<h3 id="protocolencode2"><code>protocol_encode/2</code></h3>
<pre><code class="language-elixir">@spec protocol_encode(term(), encoder()) :: iodata()
</code></pre>
<p><code>encode!/1</code>에 전달되는 기본 인코딩 구현이에요. 보통 <code>encode!/2</code>, <code>encode_to_iodata!/2</code>의 두 번째 인자로 넘기며, 기본 구현은 <code>JSON.Encoder</code> 프로토콜로 최적화된 디스패치입니다.</p>
<h2 id="더-알아보기">더 알아보기</h2>
<ul>
<li><code>JSON.Encoder</code> 프로토콜: 사용자 정의 데이터 구조를 JSON으로 인코딩하는 방법</li>
<li><code>JSON.decode!/1</code>: 디코딩 실패 시 던져지는 <code>JSON.DecodeError</code></li>
<li><code>:json</code> 모듈(Erlang): 스트리밍 JSON 디코딩</li>
</ul>
</div>
      </article>

      <!-- ═══ 오른쪽: TOC (H2/H3 목차, 접기/펼치기) ═══ -->
      <aside class="wiki-toc" data-toc
             style="position:sticky; top:calc(var(--header-h) + 24px); max-height:calc(100vh - var(--header-h) - 48px); overflow:auto; padding:8px 0; border-left:1px solid var(--ds-line); padding-left:16px;">
        <button type="button" class="wiki-toc__toggle" aria-expanded="true" aria-controls="wiki-toc-nav">
          <span class="wiki-toc__label">목차</span>
          <span class="wiki-toc__chevron">▾</span>
        </button>
        <nav id="wiki-toc-nav" class="wiki-toc__nav" aria-label="페이지 목차">
          <a href="#json-모듈" style="padding-left:0px">JSON 모듈</a><a href="#본문" style="padding-left:0px">본문</a><a href="#인코딩" style="padding-left:10px">인코딩</a><a href="#디코딩" style="padding-left:10px">디코딩</a><a href="#주요-타입" style="padding-left:10px">주요 타입</a><a href="#decode1" style="padding-left:10px">decode/1</a><a href="#decode2" style="padding-left:10px">decode/2</a><a href="#decode1" style="padding-left:10px">decode!/1</a><a href="#encode2" style="padding-left:10px">encode!/2</a><a href="#encodetoiodata2" style="padding-left:10px">encode_to_iodata!/2</a><a href="#protocolencode2" style="padding-left:10px">protocol_encode/2</a><a href="#더-알아보기" style="padding-left:0px">더 알아보기</a>
        </nav>
      </aside>
    </div>
  </main>

  <!-- ═══ scope tree 접기/펼치기 인터랙션 ═══ -->
  <script>
  (function () {
    // 페이지 이동 시 항상 최상단(제목/목차)에서 시작 — 모바일에서 트리가 하단에 있어도 뷰포트를 하단에 남기지 않음
    if ('scrollRestoration' in history) { history.scrollRestoration = 'manual'; }
    window.addEventListener('load', function () { window.scrollTo(0, 0); });

    document.querySelectorAll('[data-wtree-toggle]').forEach(function (btn) {
      btn.addEventListener('click', function (e) {
        e.preventDefault();
        e.stopPropagation();
        var li = btn.closest('.wiki-tree__node');
        if (!li) return;
        var sub = li.querySelector(':scope > .wiki-tree');
        if (!sub) return;
        var lazyPath = sub.getAttribute('data-wtree-lazy');
        if (lazyPath && sub.getAttribute('data-wtree-loaded') !== '1') {
          // 첫 펼침: 하위 트리를 lazy 프래그먼트로 로드 후 펼침
          fetch('/wiki/tree/' + lazyPath.replace(/^\/+/, ''))
            .then(function (r) { return r.text(); })
            .then(function (html) {
              sub.innerHTML = html;
              sub.setAttribute('data-wtree-loaded', '1');
              sub.removeAttribute('data-wtree-lazy');
              wireToggles(sub);
              openSub(sub, btn);
            })
            .catch(function () { openSub(sub, btn); });
          return;
        }
        openSub(sub, btn);
      });
    });

    function openSub(sub, btn) {
      var collapsed = sub.classList.toggle('is-collapsed');
      sub.hidden = collapsed;
      btn.textContent = collapsed ? '▸' : '▾';
      btn.setAttribute('aria-expanded', collapsed ? 'false' : 'true');
    }

    // lazy 프래그먼트로 삽입된 하위 노드들의 토글도 이벤트 연결
    function wireToggles(scope) {
      scope.querySelectorAll('[data-wtree-toggle]').forEach(function (btn) {
        if (btn._wtreeBound) return;
        btn._wtreeBound = true;
        btn.addEventListener('click', function (e) {
          e.preventDefault();
          e.stopPropagation();
          var li = btn.closest('.wiki-tree__node');
          if (!li) return;
          var sub = li.querySelector(':scope > .wiki-tree');
          if (!sub) return;
          var lazyPath = sub.getAttribute('data-wtree-lazy');
          if (lazyPath && sub.getAttribute('data-wtree-loaded') !== '1') {
            fetch('/wiki/tree/' + lazyPath.replace(/^\/+/, ''))
              .then(function (r) { return r.text(); })
              .then(function (html) {
                sub.innerHTML = html;
                sub.setAttribute('data-wtree-loaded', '1');
                sub.removeAttribute('data-wtree-lazy');
                wireToggles(sub);
                openSub(sub, btn);
              })
              .catch(function () { openSub(sub, btn); });
            return;
          }
          openSub(sub, btn);
        });
      });
    }

    // TOC 접기/펼치기 토글
    var toc = document.querySelector('[data-toc]');
    if (toc) {
      var toggleBtn = toc.querySelector('.wiki-toc__toggle');
      var nav = toc.querySelector('.wiki-toc__nav');
      var chevron = toc.querySelector('.wiki-toc__chevron');
      if (toggleBtn && nav) {
        toggleBtn.addEventListener('click', function () {
          var collapsed = toc.classList.toggle('is-collapsed');
          toggleBtn.setAttribute('aria-expanded', collapsed ? 'false' : 'true');
          if (chevron) chevron.textContent = collapsed ? '▸' : '▾';
        });
      }
    }
    // 페이지 진입 시 활성 노드로 스크롤 노출
    var active = document.querySelector('.wiki-tree__node.is-active');
    if (active && active.scrollIntoView) {
      try { active.scrollIntoView({ block: 'nearest' }); } catch (e) {}
    }
  })();
  </script>

  <style>
    /* scope tree 행 스타일: 활성 강조 + 들여쓰기 토글 정렬 */
    .wiki-tree__row { display:flex; align-items:center; gap:6px; border-radius:var(--r-xs); }
    .wiki-tree__row:hover { background:var(--ds-bg-subtle); }
    .wiki-tree__toggle {
      flex:0 0 auto; width:16px; height:22px; padding:0; border:none; background:none;
      cursor:pointer; color:var(--ds-text-3); font-size:10px; line-height:1;
      display:flex; align-items:center; justify-content:center;
    }
    .wiki-tree__dot { flex:0 0 auto; width:16px; height:1px; }
    .wiki-tree__link {
      flex:1 1 auto; min-width:0; padding:6px 6px; border-radius:var(--r-xs);
      font-size:13px; color:var(--ds-text-2); text-decoration:none; line-height:1.35; overflow:hidden; text-overflow:ellipsis;
    }
    .wiki-tree__node.is-active > .wiki-tree__row { background:var(--ds-text); }
    .wiki-tree__node.is-active > .wiki-tree__row .wiki-tree__link { color:var(--ds-bg-card); font-weight:700; }
    .wiki-tree.is-collapsed { display:none; }
    /* TOC 접기/펼치기 토글 버튼 */
    .wiki-toc__toggle {
      display:flex; align-items:center; justify-content:space-between; width:100%;
      padding:4px 6px; margin-bottom:6px; border:none; background:none; cursor:pointer;
      font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
      color:var(--ds-text-2); border-radius:var(--r-xs); text-align:left;
    }
    .wiki-toc__toggle:hover { color:var(--ds-text); background:var(--ds-bg-subtle); }
    .wiki-toc__nav { display:flex; flex-direction:column; gap:2px; }
    .wiki-toc__chevron { font-size:10px; color:var(--ds-text-3); transition:transform .15s var(--ease-out); }
    .wiki-toc.is-collapsed .wiki-toc__chevron { transform:rotate(-90deg); }
    .wiki-toc.is-collapsed .wiki-toc__nav { display:none; }
  </style>

  <html>
<footer class="site-footer--compact" style="background:var(--ds-bg-strong); color:var(--ds-text-on-dark); margin-top:80px;">
  <div class="site-footer--compact__inner">
    <!-- 1줄 블록: 좌측 브랜드 + 우측 링크 가로 나열 -->
    <div style="display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px 32px;">
      <div style="display:flex; align-items:center; gap:16px; flex-wrap:wrap;">
        <img src="/assets/logo-white.png" alt="DataSketchers" style="height:32px; width:auto;" />
        <span style="font-size:13px; color:#b0b0b2; max-width:320px;">AI·데이터·디자인으로 기업의 디지털 전환을 지원합니다. 서울시립대학교 캠퍼스타운 창업기업</span>
      </div>
      <nav style="display:flex; flex-wrap:wrap; gap:8px 24px; font-size:13px;" aria-label="푸터 링크">
        <a href="/about" style="color:#e5e5e6; text-decoration:none;">회사소개</a>
        <a href="/services" style="color:#e5e5e6; text-decoration:none;">사업영역</a>
        <a href="/products" style="color:#e5e5e6; text-decoration:none;">D-SKET</a>
        <a href="/clients" style="color:#e5e5e6; text-decoration:none;">고객사</a>
        <a href="/blog" style="color:#e5e5e6; text-decoration:none;">블로그</a>
        <a href="/" style="color:#e5e5e6; text-decoration:none;">위키</a>
        <a href="/press" style="color:#e5e5e6; text-decoration:none;">보도자료</a>
        <a href="/esg" style="color:#e5e5e6; text-decoration:none;">ESG</a>
        <a href="/contact" style="color:#e5e5e6; text-decoration:none;">문의</a>
      </nav>
    </div>
    <div style="margin-top:28px; padding-top:16px; border-top:1px solid rgba(255,255,255,0.12); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13px; color:#8a8a8d;">
      <span>© 데이터스케쳐스. All rights reserved.</span>
      <span>사업자등록번호 349-81-03411</span>
    </div>
  </div>
</footer>
</html>
</body>
</html>
