Functor: improve laws and check them widely