# `ShotUn`
[🔗](https://github.com/jcschuster/ShotUn/blob/v0.1.2/lib/shot_un.ex#L1)

Implements (syntactic) higher-order pre-unification for term pairs based on
projection and imitation.

# `unify`

```elixir
@spec unify([term_pair()] | term_pair(), non_neg_integer()) ::
  Enumerable.t(ShotUn.UnifSolution.t())
```

Implements depth-bounded higher-order pre-unification to solve a unification
problem consisting of a single term pair or a list of term pairs. Returns a
lazy stream of unification solutions.

---

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