added typed reduction example program