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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’ve read the original proposals and respective discussion and now this one.<br>
I’m going to be as succinct as possible:</p>
<ul>
<li>This proposal going forward doesn’t shock me at all, don’t think it is necessary but I get what benefits it could bring, but still undecided if it is the right call, was more convinced on the past proposal when it was only confined to the compreenhension.</li>
<li>Of course it can be abused, but so many other things can in the language (and now we have an anti-pattern docs and all)</li>
<li>My main concern is readability. I know we are not focusing too much on syntax, but the double @ is not pretty, it’s not obvious and while I agree with the reasoning why it might make sense, don’t think it works. Module attributes use it, let’s keep it for that. If this goes forward we need a new symbol for the variable, but please, don’t use @@. <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"></li>
</ul> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310072" 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/local-accumulators-for-cleaner-comprehensions/60130/73">Post #72</a>
	                </div>
	            </div>
              <div id="likers-container-310072" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310072"
                     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 #72"></div>
  </section>
</div>
    <div class="postbit" id="310075" data-post-id="310075">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Personally I feel this will be abused a lot by new developers and will require more work for code guidelines and code review.</p>
<p>It reminds me when I was working with C++ and we hired a Java dev, he would use and abuse the <code>new</code> functionality just because that was what he was used to do with Java.</p>
<p>It would not surprise me if I would start seeing a buch of code like this:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">@@my_value = false

if some_condition do
  @@my_value = true
end
</code></pre>
<p>Just because the developer is used to that imperative way of writing it and don’t understand that the if statement is an expression.</p>
<p>If we want to go ahead with this proposal, I would suggest that we, at least, make the syntax have something that would de-incentivize the programmer to use it everywhere.</p>
<p>What came to my mind is the <code>unsafe</code> keyword from Rust, to write unsafe code, you need to create a <code>unsafe</code> code block and then, inside of it, you can write any code that can crash the program, since it has a strong word to it and also needs you to write some extra lines, the Rust developer will only use it when really is necessary.</p>
<p>Of course, before anyone says it, we are not talking about unsafe code here, but if we had something like this, it would incentivize the programmer to only use local accumulators when it is really needed.</p>
<p>For example, something like a <code>mutable</code> code block:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">result = 
  mutable do
    @@my_value = false

    if some_condition do
      @@my_value = true
    end
    ...
  end
</code></pre>
<p>IMO, something like this would make people think twice before writing the above code instead of a simple if/else expression.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310075" data-batch-url="/posts/batch_likers">
                        9
                      </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/local-accumulators-for-cleaner-comprehensions/60130/74">Post #73</a>
	                </div>
	            </div>
              <div id="likers-container-310075" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310075"
                     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 #73"></div>
  </section>
</div>
    <div class="postbit" id="310076" data-post-id="310076">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="sezaru" data-post="74" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sezaru/48/36113_2.png" class="avatar"> sezaru:</div>
<blockquote>
<p>to write unsafe code, you need to create a <code>unsafe</code> code block and then, inside of it, you can write any code that can crash the program</p>
</blockquote>
</aside>
<p>I have repeatedly proven that you can write code to crash a program using nothing but safe Rust. <img src="https://forum.elixirforum.com/images/emoji/apple/wink.png?v=15" title=":wink:" class="emoji" alt=":wink:" 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="310076" 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/local-accumulators-for-cleaner-comprehensions/60130/75">Post #74</a>
	                </div>
	            </div>
              <div id="likers-container-310076" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310076"
                     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 #74"></div>
  </section>
</div>
    <div class="postbit" id="310077" data-post-id="310077">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m neutral on the proposal; I see the problem it solves but I’m not sure this is the best take, or if it’s really a problem worth solving with more syntax. In any case I think it’s better than <code>for let</code> proposal though.</p>
<p>What I want to point out to people in this thread is that <strong>there is no mutation in this proposal</strong>.</p>
<p>It’s sugar over the boilerplate needed to rebind variables in a number of scenarios outlined in the OP. Just in the same way rebinding is sugar over erlang’s non-rebindable variables.</p>
<p>There is no new state going on. There is no mutation. No mutable state. Only the same variables, with a syntax that relaxes scoping rules. None of the code resulting from this proposal would be less safe than what we write today.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310077" data-batch-url="/posts/batch_likers">
                        10
                      </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/local-accumulators-for-cleaner-comprehensions/60130/76">Post #75</a>
	                </div>
	            </div>
              <div id="likers-container-310077" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310077"
                     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 #75"></div>
  </section>
</div>
    <div class="postbit" id="310078" data-post-id="310078">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dorgan" data-post="76" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dorgan/48/22107_2.png" class="avatar"> dorgan:</div>
<blockquote>
<p>What I want to point out to people in this thread is that <strong>there is no mutation in this proposal</strong>.</p>
</blockquote>
</aside>
<p>That’s clear, but even if behind the scenes there will be no mutation, you will still have to read the function as if it was mutated.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310078" data-batch-url="/posts/batch_likers">
                        5
                      </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/local-accumulators-for-cleaner-comprehensions/60130/77">Post #76</a>
	                </div>
	            </div>
              <div id="likers-container-310078" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310078"
                     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 #76"></div>
  </section>
</div>
    <div class="postbit" id="310080" data-post-id="310080">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am against the local accumulators proposal.  If it’s added, I would also argue against the <code>@@</code> syntax. Given all the other options, why pick one that’s backwards incompatible?</p>
<p>I’ll echo many others in this thread: I think the <code>for</code> statement should be expanded to meet this use case. I like the <code>map_reduce</code> form proposal.</p>
<p>My reasoning: I appreciate programming languages that have less ways to write code. I think that elixir is conservative with syntax sugar, which I really appreciate. It reduces my mental overhead when writing and reading code. I think a new syntax should have a compelling reason to be added, and in my opinion, saving a few lines of code for specific kinds of algorithms is not worth it. I definitely could be wrong here though - perhaps a better way to demonstrate the benefits would be to create a mock PR to a real-world elixir app that refactors it using this new proposed syntax?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310080" data-batch-url="/posts/batch_likers">
                        4
                      </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/local-accumulators-for-cleaner-comprehensions/60130/78">Post #77</a>
	                </div>
	            </div>
              <div id="likers-container-310080" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310080"
                     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 #77"></div>
  </section>
</div>
    <div class="postbit" id="310083" data-post-id="310083">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="sezaru" data-post="74" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sezaru/48/36113_2.png" class="avatar"> sezaru:</div>
<blockquote>
<p>Personally I feel this will be abused a lot by new developers and will require more work for code guidelines and code review.</p>
</blockquote>
</aside>
<p>Is this something that we actually want to gatekeep? I mean, we do have guides, guidelines and other tools precisely because of this. In fact, I think it’s great that we have something so distinct from a traditional variable declaration with the new syntax proposal that you won’t be using it by accident. We are talking about a “escape hatch” and not a hole we are digging for newbies to fall in by accident.</p>
<aside class="quote group-Phoenix-Core-Team" data-username="jeregrine" data-post="64" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jeregrine/48/20546_2.png" class="avatar"> jeregrine:</div>
<blockquote>
<p>I also do not think we should let FUD about education hold us back either. This change is relatively small in the grand scheme of things and will MOSTLY make things like Advent of Code and other learning problems easier to accomplish, not harder. We should assume people learning Elixir are capable enough to understand what a scope is.</p>
</blockquote>
</aside>
<p>Exactly my thoughts! <img src="https://forum.elixirforum.com/images/emoji/apple/+1.png?v=15" title=":+1:" class="emoji" alt=":+1:" loading="lazy" width="20" height="20"></p>
<aside class="quote no-group" data-username="sezaru" data-post="77" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sezaru/48/36113_2.png" class="avatar"> sezaru:</div>
<blockquote>
<p>That’s clear, but even if behind the scenes there will be no mutation, you will still have to read the function as if it was mutated.</p>
</blockquote>
</aside>
<p>This is the same thing with <code>if</code>, <code>unless</code> and <code>for</code>… They look imperative but in Elixir they are just expressions… We could go around having a philosophical discussion about whether this is actually™ imperative or declarative, but I rather we focus about the practical problem the proposal is trying to solve <img src="https://forum.elixirforum.com/images/emoji/apple/grimacing.png?v=15" title=":grimacing:" class="emoji" alt=":grimacing:" loading="lazy" width="20" height="20">.</p>
<aside class="quote no-group" data-username="greven" data-post="73" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/greven/48/25004_2.png" class="avatar"> greven:</div>
<blockquote>
<p>My main concern is readability. I know we are not focusing too much on syntax, but the double @ is not pretty, it’s not obvious and while I agree with the reasoning why it might make sense, don’t think it works. Module attributes use it, let’s keep it for that. If this goes forward we need a new symbol for the variable, but please, don’t use @@. <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"></p>
</blockquote>
</aside>
<p>I couldn’t disagree more <img src="https://forum.elixirforum.com/images/emoji/apple/smile.png?v=15" title=":smile:" class="emoji" alt=":smile:" loading="lazy" width="20" height="20">! The <code>@@</code> is beautifully explicit and because we already have <code>@</code> for module attributes it makes even more sense to use it for this.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310083" 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/local-accumulators-for-cleaner-comprehensions/60130/79">Post #78</a>
	                </div>
	            </div>
              <div id="likers-container-310083" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310083"
                     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 #78"></div>
  </section>
</div>
    <div class="postbit" id="310086" data-post-id="310086">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hst337" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hst337
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="thiagomajesk" data-post="79" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/thiagomajesk/48/31904_2.png" class="avatar"> thiagomajesk:</div>
<blockquote>
<p>Is this something that we actually want to gatekeep? I mean, we do have guides, guidelines and other tools precisely because of this. In fact, I think it’s great that we have something so distinct from a traditional variable declaration with the new syntax proposal that you won’t be using it by accident. We are talking about a “escape hatch” and not a hole we are digging for newbies to fall in by accident.</p>
</blockquote>
</aside>
<p>I have a question for you then: why do we need to teach newcomers to use <code>Enum</code> and semi-mutable variables in <code>for</code> and their bad practices, while we could only teach them <code>Enum</code>? And another question is: why do we want to have two completely different ways of writing and reading list traversal algorithms? This features makes language inconsistent, introducing special exception, leading to us keeping much more things in mind than we used to, thus making reasoning about the code harder.</p>
<p>I’ve already provided several examples above, which are made completely misleading by this new feature. And there will be more</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310086" data-batch-url="/posts/batch_likers">
                        5
                      </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/local-accumulators-for-cleaner-comprehensions/60130/80">Post #79</a>
	                </div>
	            </div>
              <div id="likers-container-310086" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310086"
                     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 #79"></div>
  </section>
</div>
    <div class="postbit" id="310087" data-post-id="310087">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="benwilson512" data-post="71" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benwilson512/48/1457_2.png" class="avatar"> benwilson512:</div>
<blockquote>
<p>I think it sort of trades messier code for a messier mental model</p>
</blockquote>
</aside>
<aside class="quote no-group" data-username="benwilson512" data-post="71" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benwilson512/48/1457_2.png" class="avatar"> benwilson512:</div>
<blockquote>
<p>“return value has everything”</p>
</blockquote>
</aside>
<p>These are the key points for me.</p>
<aside class="quote no-group" data-username="thiagomajesk" data-post="79" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/thiagomajesk/48/31904_2.png" class="avatar"> thiagomajesk:</div>
<blockquote>
<p>Is this something that we actually want to gatekeep?</p>
</blockquote>
</aside>
<p>I also don’t think it’s fair to call out concerns over this as “gatekeeping” or “FUD.”  I think a lot newcomers will just default to <code>@@</code> which has the potential to rob them of really developing the proper mental model for why something like this doesn’t currently exist (and why something similar was at one point removed).  Though it’s not like this is the end of the world or anything—I get that adoption is important.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="310087" data-batch-url="/posts/batch_likers">
                        12
                      </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/local-accumulators-for-cleaner-comprehensions/60130/81">Post #80</a>
	                </div>
	            </div>
              <div id="likers-container-310087" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310087"
                     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 #80"></div>
  </section>
</div>
    <div class="postbit" id="310088" data-post-id="310088">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="sodapopcan" data-post="81" data-topic="60130">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sodapopcan/48/34668_2.png" class="avatar"> sodapopcan:</div>
<blockquote>
<p>I also don’t think it’s fair to call out concerns over this as “gatekeeping” or “FUD.” I think a lot newcomers will just default to <code>@@</code> which has the potential to rob them of really developing the proper mental model for why something like this doesn’t currently exist (and why something similar was at one point removed). Though it’s not like this is the end of the world or anything—I get that adoption is important.</p>
</blockquote>
</aside>
<p>I agree that <em>maybe</em> gatekeeping is not the best word to use here but also to be fair, it does seem that some people actually think it’s going to be the end of the world if this proposal goes forward <img src="https://forum.elixirforum.com/images/emoji/apple/sweat_smile.png?v=15" title=":sweat_smile:" class="emoji" alt=":sweat_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="310088" 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/local-accumulators-for-cleaner-comprehensions/60130/82">Post #81</a>
	                </div>
	            </div>
              <div id="likers-container-310088" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="310088"
                     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 #81"></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/60130/load_more?page=9">Load more posts (165 remaining)</a>
</div></template></turbo-stream>