EXPERIMENTAL added hardware transactions.
API is still rough, and software transactions are somewhat broken
More work needed...