Make them more general instead of only supporting `func::FuncOp`.
See https://mlir.llvm.org/ for more information.