michabbb<p><a href="https://social.vivaldi.net/tags/PHP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP</span></a> <a href="https://social.vivaldi.net/tags/Development" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Development</span></a>: Enhancing <a href="https://social.vivaldi.net/tags/Code" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Code</span></a> <a href="https://social.vivaldi.net/tags/Quality" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Quality</span></a> with Type Safety 🔍</p><p>🔒 <a href="https://social.vivaldi.net/tags/PHP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP</span></a>'s pseudo-types callable and iterable present challenges for code analysis and maintenance<br>💡 <a href="https://social.vivaldi.net/tags/PHP82" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PHP82</span></a> transforms iterable into Traversable|array union type, improving type <a href="https://social.vivaldi.net/tags/safety" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>safety</span></a></p><p><a href="https://f2r.github.io/en/stop-using-pseudo-types" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">f2r.github.io/en/stop-using-ps</span><span class="invisible">eudo-types</span></a></p><p>🧵 ↓</p>