This declares a list of types which can be allocated by
few modifier will cause allocation to use the shared arena and recording the destructor.
This is faster and more memory efficient if there's only a few allocations of the type.
few out will cause the type to get its own dedicated
TypedArena which is
faster and more memory efficient if there is lots of allocations.
decode modifier will add decode impls for &T and &[T] where T is the type
listed. These impls will appear in the implement_ty_decoder! macro.