Minor style changes.
Made a mistake regarding strict functions.
Worked on reduce{Type,Kind}.
Finished implementation of reduce{Type,Kind}