t() :: %Patch.Mock.Values.Scalar{value: term()}
advance(scalar :: t()) :: t()
new(scalar :: term()) :: t()
next(scalar :: t(), arguments :: [term()]) :: {t(), term()}