I'm not sure where my mind was at the time. These two data types are functorial, but they can't be Functors since their last type variable has the wrong kind. If we swap things around, everything is fine and we can implement some type classes.
This is for sure a breaking change.