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