Нет, это у тебя любой аппликативный функтор для которого можно определить операцию: возьми а или б в функторе, если там а, то переводи его в б функией обернутой в функтор, иначе просто верни б.
Причём операция определана так, что если в неё пришло б, то мап для функции из а в б в функторе вызван не будет.