WIP nonreducer and bn.replace()
bn.replace compiles
bn.replace unit tests now run but fail
bn.replace unit tests now pass
clean up
add bn.replace() to benchmark
Merge branch 'rewrite_reduce' into rewrite