I have the following functor:
import Data.Functor.Foldable data ExprF a = ENum Integer | EBool Bool | EVar Var | EOp Op [a] | EIf a a a