If I understood correctly you are just restricting...
# functional
r
If I understood correctly you are just restricting upper bounds over Functor.map so it’s just a subtype bound constrains that let’s you achieve transformations that remain in the same domain of the original value: