The internal module is really empty and doesn't give a lot of room for extending Haskeline, here are a few use cases the library doesn't provide ways to do without forking, like for example:
extending the editing mode (reusing things from Vi.hs or Emacs.hs)
using haskeline within an UI ( the haskeline-brick project had to fork haskeline)
hooking into character changes/ operations and doing IO with them.
The internal module is really empty and doesn't give a lot of room for extending Haskeline, here are a few use cases the library doesn't provide ways to do without forking, like for example: