A syndicate is a party with tradable items.
Syndicate details
@type syndicate() :: %{ required(name :: String.t()) => String.t(), required(id :: String.t()) => atom() | String.t(), required(catalog :: String.t()) => [String.t()] } | [name: String.t(), id: atom(), catalog: [String.t()]]
@type t() :: %Shared.Data.Syndicate{ catalog: [String.t()], id: atom(), name: String.t() }
@spec new(syndicate()) :: t()