@type count() :: 0..4
@type index() :: 0..8
@type t() :: %Riichi.TileSet{ jihai: tuple(), manzu: tuple(), pinzu: tuple(), souzu: tuple() }
@spec from_hand(Riichi.Hand.t()) :: t()
@spec from_tiles([Riichi.Tile.t()]) :: t()