fixed a bug in units::rec_unit; add more unit reduce rules; add more examples