Competes with #40. After actually trying the two-name contraction operator, it wasn't at all clear to me that it was better than an occasional renaming. The convention of using ax' for the output of some transformation on ax, then renaming ax' to ax, seems more intuitive (maybe because it feels like code where ax' is a temporary variable). So this PR removes the whole section on duality and tries to explain the renaming in the RNN example a tiny bit more.
Competes with #40. After actually trying the two-name contraction operator, it wasn't at all clear to me that it was better than an occasional renaming. The convention of using ax' for the output of some transformation on ax, then renaming ax' to ax, seems more intuitive (maybe because it feels like code where ax' is a temporary variable). So this PR removes the whole section on duality and tries to explain the renaming in the RNN example a tiny bit more.
Closes #29.