-- | This is just a handy way of not exposing a Contrafunctor class, as we only
-- really need it for the definition of `to`.
castConst' :: (b -> a) -> Const r a -> Const r b
castConst' _ (Const r) = Const r
castConst' :: (b -> a) -> Const r a -> Const r b
castConst' _ (Const r) = Const r
castConst' _ (Const r) = Const r