t() :: %{optional(Antikythera.Time.t()) => Croma.PosInteger.t()}
new(term()) :: Croma.Result.t(t())
new!(any()) :: t()
valid?(term()) :: boolean()