can select this type
on the basis of performance,
or any combination of such factors,
so as to provide at least acceptable engine behavior
for relatively casual, inexpert, and/or lightweight use.
Because different implementations
can select different underlying engine types,
code that uses this typedef
need not generate identical sequences across implementations.