fixed software transactions; improved compatibility with hardware transactions
TO DO: adaptive global clock, automatic expansion of $ into either $-tx or $-hwtx
(and analogously for user-defined functions)
updated TODO