# Enumerable for function(2)

**URL:** <https://forum.elixirforum.com/t/enumerable-for-function-2/29573>\
**Category:** Questions\
**Tags:** standard-library\
**Created:** [March 3, 2020, 11:30am UTC](https://forum.elixirforum.com/t/enumerable-for-function-2/29573 "2020-03-03T11:30:14Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![benwilson512](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benwilson512/32/1457_2.png) [@benwilson512](https://forum.elixirforum.com/u/benwilson512)\
**Post date:** [March 6, 2020, 2:12pm UTC](https://forum.elixirforum.com/t/enumerable-for-function-2/29573/12 "2020-03-06T14:12:42Z")

</div>

Protocol implementations themselves seem intrinsically public to me, if for no other reason than that they are global. You cannot create a protocol implementation for a given protocol for a given type if one already exists. Every protocol implementation Elixir ships with has direct and public implications with respect to your code base because of this. If you rely on functions being enumerable, you literally have no choice but to use Elixir’s built in impl, it is impossible to write your own.

---

_[View the full topic](https://forum.elixirforum.com/t/enumerable-for-function-2/29573)._
