I would like to test laws like map(f . g) = map f . map g for functors, so when you have a functor implementation, you can easily check such invariants. But I think to make it really useful and convenient, we would need some quick-check-like mechanisms in place.
What do you think?