Fix Trac #3057 in deriving Functor