Проверим на примере: пишем сервис с аэропортами и направлениями.
defmodule Airport do
  defstruct [:id, :name]
end
defmodule Direction do
  defstruct [:origin, :destination]
  def example do
    madrid = %Airport{id: "MAD", name: "Madrid"}
    riga = %Airport{id: "RIX", name: "Riga"}
    %Direction{origin: riga, destination: madrid}
  end
end
Пока что всё в порядке. Отлично, съели печеньку, смотрим, что дальше в джире. Список самых популярных направлений?
 Hackerman берётся за дело