Take the category-like picture below:
$g$ is not a 2-morphism in terms of category theory because the arrows it connects ($f$ and $g'$) do not have the same type (right?). What would you call it?
What if we reinterpret the picture so that the objects are sets and the arrows functions. What would you call the higher order function $g$?
This is a pattern that has come up for me a bunch when programming in Haskell, and so I feel like there must be some underlying mathematics and I'd like to read up on it some. Rewritten in Haskell (and made slightly more generic), the picture would look something like this:
g :: F1 -> F2
type F1 = D -> C
type F2 = B -> A
An example of a real 2-morphism would be the something of the type
F1 -> F1. Sorry that I don't know any more examples. I'm sure they exist, but I just don't know the language to frame them in. My question stems from related question about converting haskell functions into 2-morphisms but nobody knew what this specific type of thing was.