# `Moar.Protocol`
[🔗](https://github.com/synchronal/moar/blob/main/lib/protocol.ex#L1)

Protocol-related functions.

# `implements!`

```elixir
@spec implements!(any(), module()) :: any()
```

Returns `x` or raises if `x` does not implment `protocol`.

```elixir
iex> Moar.Protocol.implements!(~D[2000-01-02], String.Chars)
~D[2000-01-02]
```

# `implements?`

```elixir
@spec implements?(any(), module()) :: boolean()
```

Returns true if `x` implements `protocol`.

```elixir
iex> Moar.Protocol.implements?(~D[2000-01-02], String.Chars)
true
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
