<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="7497" data-post-id="7497">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mkunikow" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mkunikow/120/235_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mkunikow
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>In Scala</p>
<ul>
<li>Option is to deal with null values (contains some type T or null)</li>
<li>Either can be used to deal with errors, basically can be type A or B</li>
<li>Try is special type for error (contains Result or Error)</li>
</ul>
<p><a href="http://danielwestheide.com/blog/2012/12/26/the-neophytes-guide-to-scala-part-6-error-handling-with-try.html" rel="noopener nofollow ugc">The Neophyte’s Guide to Scala Part 6: Error Handling With Try</a></p>
<p><a href="http://danielwestheide.com/blog/2012/12/19/the-neophytes-guide-to-scala-part-5-the-option-type.html" rel="noopener nofollow ugc">The Neophyte’s Guide to Scala Part 5: The Option Type</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="7497" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/22">Post #21</a>
	                </div>
	            </div>
              <div id="likers-container-7497" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="7497"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #21"></div>
  </section>
</div>
    <div class="postbit" id="7498" data-post-id="7498">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mkunikow" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mkunikow/120/235_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mkunikow
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html" rel="noopener nofollow ugc">Functors, Applicatives, And Monads In Pictures</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="7498" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-7498" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="7498"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #22"></div>
  </section>
</div>
    <div class="postbit" id="7499" data-post-id="7499">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mkunikow" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mkunikow/120/235_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mkunikow
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="NobbZ" data-post="13" data-topic="1169">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nobbz/48/27235_2.png" class="avatar"> NobbZ:</div>
<blockquote>
<p>I am not sure how this will continue and I will continue my search for some good JS replacement…</p>
</blockquote>
</aside>
<p>maybe <a href="http://www.purescript.org/" rel="noopener nofollow ugc">http://www.purescript.org/</a> ? <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="7499" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-7499" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="7499"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #23"></div>
  </section>
</div>
    <div class="postbit" id="7503" data-post-id="7503">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="NobbZ" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/NobbZ/120/27235_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  NobbZ
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>To be honest, currently my favorite is idris, but learning idris alone is a task I will postpone until I finished my thesis (or maybe learn it as my thesis’ topic) <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>Idris does have several backends, one of them is JS. But currently it emits JS targeted at node-js and not able beeing run in a browser. Making this possible, as well as implementing an API that gives access to the DOM is a mid to high priority task.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="7503" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-7503" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="7503"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #24"></div>
  </section>
</div>
    <div class="postbit" id="9352" data-post-id="9352">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="X4lldux" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/X4lldux/120/2040_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  X4lldux
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>There was a proposition for that, see <a href="https://github.com/elixir-lang/elixir/issues/925" rel="noopener nofollow ugc">elixir-lang/elixir#925</a>. Based on that I’ve implemented this library <a href="http://github.com/X4lldux/disc_union" rel="noopener nofollow ugc">disc_union</a>. It uses a little different naming, but basically works just as you explain it. The example below is an implementation of tennis kata:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defmodule Player do
  use DiscUnion

  defunion A | B
end

defmodule PlayerPoints do
  use DiscUnion

  defunion Love | Fifteen | Thirty | Forty
end

defmodule Score do
  use DiscUnion
  require PlayerPoints

  defunion Points in PlayerPoints * PlayerPoints
  | Advantage in Player
  | Deuce
  | Game in Player
end

defmodule Tennis do
  require Player
  require PlayerPoints
  require Score

  def score_point(%Score{}=score, %Player{}=point_player) do
    IO.puts "Point for player #{inspect point_player} @ #{inspect score}"
    Score.case score do
      Advantage in ^point_player                                  -&gt; Score.game point_player
      Advantage in _                                              -&gt; Score.deuce
      Deuce                                                       -&gt; Score.advantage point_player
      Points in PlayerPoints.forty, _ when point_player==Player.a -&gt; Score.game Player.a
      Points in _, PlayerPoints.forty when point_player==Player.b -&gt; Score.game Player.b
      Points in a, b when point_player==Player.a                  -&gt; Score.points(next_point_score(a), b) |&gt; normalize_score
      Points in a, b when point_player==Player.b                  -&gt; Score.points(a, next_point_score(b)) |&gt; normalize_score
      Game in _                                                   -&gt; IO.puts "Game is over #{inspect score}"
    end
  end

  defp next_point_score(%PlayerPoints{}=point) do
    PlayerPoints.case point do
      Love    -&gt; PlayerPoints.fifteen
      Fifteen -&gt; PlayerPoints.thirty
      Thirty  -&gt; PlayerPoints.forty
      Forty   -&gt; raise "WAT?"
    end
  end

  defp normalize_score(%Score{}=score) do
    Score.case score, allow_underscore: true do
      Points in PlayerPoints.forty, PlayerPoints.forty -&gt; Score.deuce
      _ -&gt; score
    end
  end
end
</code></pre>
<p><em>I admit DSL syntax is inspired by OCaml.</em></p>
<p>It even generates compile-time warnings when one of defined cases is not covered in <code>case</code> body.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="9352" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-9352" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="9352"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #25"></div>
  </section>
</div>
    <div class="postbit" id="9353" data-post-id="9353">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sotojuan" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sotojuan/120/17260_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sotojuan
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>FYI for those interested here are some more related projects:</p>
<p><a href="https://github.com/expede/algae" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/expede/algae</a></p>
<p><a href="https://github.com/expede/witchcraft" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/expede/witchcraft</a></p>
<p><a href="https://github.com/expede/quark" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/expede/quark</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="9353" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-9353" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="9353"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #26"></div>
  </section>
</div>
    <div class="postbit" id="9429" data-post-id="9429">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="X4lldux" data-post="26" data-topic="1169">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/x4lldux/48/2040_2.png" class="avatar"> X4lldux:</div>
<blockquote>
<p>There was a proposition for that, see elixir-lang/elixir#925. Based on that I’ve implemented this library disc_union. It uses a little different naming, but basically works just as you explain it. The example below is an implementation of tennis kata:</p>
</blockquote>
</aside>
<p>Ooo, that is interesting.  I like how the case is part of the main module for the union.  I may have to look closely at this.  <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="9429" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-9429" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="9429"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #27"></div>
  </section>
</div>
    <div class="postbit" id="37914" data-post-id="37914">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Qqwy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Qqwy/120/1349_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Qqwy
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>TypeCheck Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am currently in the process of cleaning up this library.</p>
<p>Funland’s version <code>0.8</code> will have many fixes and better documentation.<br>
The main reason why I do not feel ready yet to release a <code>1.0</code> is that the <code>FunLandic</code> namespace, which includes a set of common Algebraic Data Type implementations, is still part of the library.</p>
<p>I am not entirely sure what makes most sense for extracting the two. Probably <code>FunLandic</code> will be moved to its own library, but this will make it harder to test <code>FunLand</code> itself, and maybe also harder to understand for newcomers, as there are then no clear examples of structures implementing the behaviours inside FunLand itself.</p>
<p>What to do, what to do…</p>
<p>Another issue, which I have solved for now, but maybe there is a better way, is that certain functions like <code>traverse</code> work wonderful in a statically-typed language where the function used in the implementation depends on the return type. But in Elixir, we do not have this information, so <code>traverse</code> will take as extra argument the module of the return type you want to build (or a datatype indicating that module):</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">      iex&gt; FunLand.Traversable.traverse([1, 2, 3], FunLandic.Maybe, fn x -&gt; FunLandic.Maybe.just(x) end)
      FunLandic.Maybe.just([1, 2, 3])
      iex&gt; FunLand.Traversable.traverse([1, 2, 3], [], fn x -&gt; [x,x] end)
      [[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3],
      [1, 2, 3]]
</code></pre>
<p>I think this is as idiomatic as it is going to get…</p>
<p>Help is greatly appreciated <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"> .</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="37914" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-37914" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="37914"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #28"></div>
  </section>
</div>
    <div class="postbit" id="37921" data-post-id="37921">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Qqwy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Qqwy/120/1349_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Qqwy
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>TypeCheck Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>By the way: <code>FunLand</code> is treating success tuples as a first-class type:</p>
<p>The simple mapping example:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">iex&gt; FunLand.map({:ok, 1}, fn x -&gt; x * 10 end)
{:ok, 10}
iex&gt; FunLand.map({:error, :failure}, fn x -&gt; x * 10 end)
{:error, :failure}
iex&gt; {:ok, 3} |&gt; FunLand.map(Currying.curry(&amp;+/2)) |&gt; FunLand.apply_with({:ok, 10})
{:ok, 13}
</code></pre>
<p>The full-blown monad example:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">      iex&gt; require FunLand.Monad
      iex&gt; FunLand.Monad.monadic({:ok, nil}) do
      iex&gt;   x &lt;- {:ok, 10}
      iex&gt;   y &lt;- {:ok, 20}
      iex&gt;   new(x * y)
      iex&gt; end
      {:ok, 200}
</code></pre>
<pre data-code-wrap="elixir"><code class="lang-elixir">      iex&gt; require FunLand.Monad
      iex&gt; FunLand.Monad.monadic({:ok, nil}) do
      iex&gt;   x &lt;- {:ok, 10}
      iex&gt;   y &lt;- {:error, :something_went_wrong}
      iex&gt;   new(x * y)
      iex&gt; end
      {:error, :something_went_wrong}
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="37921" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/30">Post #29</a>
	                </div>
	            </div>
              <div id="likers-container-37921" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="37921"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #29"></div>
  </section>
</div>
    <div class="postbit" id="37924" data-post-id="37924">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hah, very cool!  I’m having thoughts of adding it to MLElixir to see how it would look.  ^.^</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="37924" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/funland-algebraic-container-data-types-for-elixir-prerelease/1169/31">Post #30</a>
	                </div>
	            </div>
              <div id="likers-container-37924" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="37924"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #30"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/1169/load_more?page=4">Load more posts (5 remaining)</a>
</div></template></turbo-stream>