update Experimental.Functor