Changed compose to account for arbitrary functors with multiple arguments, altered derivative to handle new compositions, and some add simplifiers and rearranging.