# `Reach.Evidence.RepresentationOverlap`
[🔗](https://github.com/elixir-vibe/reach/blob/v2.8.4/lib/reach/evidence/representation_overlap.ex#L1)

Collects near-equivalent struct and bare-map representations across modules.

# `collect_maps`

```elixir
@spec collect_maps(Reach.Project.t()) :: [
  Reach.Evidence.RepresentationOverlap.MapShape.t()
]
```

Collects source bare-map construction shapes.

# `collect_project`

```elixir
@spec collect_project(
  Reach.Project.t(),
  keyword()
) :: [Reach.Evidence.RepresentationOverlap.Fact.t()]
```

Collects cross-module struct/bare-map shape overlaps.

# `collect_structs`

```elixir
@spec collect_structs(Reach.Project.t()) :: [
  Reach.Evidence.RepresentationOverlap.StructShape.t()
]
```

Collects source-declared struct shapes.

---

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