Elixir Protocols and Behaviors

Protocols: Describe how an known action is taken on a Type.

Behaviors: Describe how a Type takes an known action.