Bugfix: two separate Functor traits classes force both operator arguments to inherit Functor