# `GenogramMaker.Union`

A partnership between two people, optionally producing children.

Fields:

  * `:partners` — a `{id_a, id_b}` tuple of the two partners' ids.
  * `:type` — one of `:marriage` (default), `:divorce`, `:separation`,
    `:cohabitation`, `:engagement`.
  * `:children` — a list of person ids descending from the union. Children are
    drawn hanging below the couple.

The partner line is styled by `:type`: divorce and separation add slash markers,
cohabitation is dashed and engagement is dotted.

# `t`

```elixir
@type t() :: %GenogramMaker.Union{
  children: [String.t()],
  partners: {String.t(), String.t()},
  type: type()
}
```

# `type`

```elixir
@type type() :: :marriage | :divorce | :separation | :cohabitation | :engagement
```

---

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