Eli Zaretskii <eliz@gnu.org> writes:
Btw, a possibly even better way is to modify the cursor looks from the
hooks of the relevant commands, like overwrite-mode.  If some of them
don't have a hook, we could add a hook.  This is better because it
doesn't unnecessarily "punish" Emacs anywhere else, only the commands
that could affect the cursor.

But what if user prefer using a lambda instead a function? For example for a specific mode or action from a key binding package such as evil or meow, also i don't know if buffer-read-only have a proper hook.