TArray is a transactional array, supporting the usual MArray
interface for mutable arrays.
It is currently implemented as Array ix (TVar stm e), but it may
be replaced by a more efficient implementation in the future (the
interface will remain the same, however).