Concretely 1), but indirectly 2) (sort of). This relates to your "why keep going after discount zero" question. Abstracting portions of complex (PO)MDPs can help you solve constant-discount (PO)MDPs more efficiently but that is very dependent on how you do so. How to learn/find good options is a (very) active area of research but also a very difficult question to answer (in fact, just asking the right question seems to be challenging) [1-7]. I'm interested in broadening the class of problems we can define so that we can more easily play around with these types of abstractions.
As for the discount=0 question, the optimization can still optimize states before or after the discount=0 area, it just will have truncated returns for trajectories that go through it. For an online agent, it doesn't change anything but how it updates its value function. It makes more sense to think of it in a setting where there is some higher-order goal imposed by you the designer or even some other parts of your decision making system. Maybe you would like to learn/fit a policy that is more cautious than "rationally" needed (in the expected value sense), say, in the case of a self-driving car. Effectively, this treats these states as terminal states as far as the value function is concerned, but in reality, your agent might still keep going. Should you stop collecting data in that case? You should definitely keep going since you would want your agent to learn how to correct and steer back to somewhere "safe" but you don't want the agent to associate any future rewards to the decisions that led it to a "bad" state. It's probably apparent but my perspective is mostly from an online setting but I believe it is still somewhat relevant to the offline case.
For the record, I think it is completely warranted to be cautious/nervous to extend the core API like this! I currently think it is a good idea but I am by no means certain. I think prototyping ports for some of the other POMDPs*.jl and solvers before committing would be wise (if ever we decide to go down that route).
Disclaimer: I was just looking for a specific paper but the number of relevant papers that showed up in the search results was too large to not spam them here ;)
[1] Bacon, Pierre-Luc, Jean Harb, and Doina Precup. "The option-critic architecture." Thirty-First AAAI Conference on Artificial Intelligence. 2017.
[2] Tiwari, Saket, and Philip S. Thomas. "Natural option critic." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 33. 2019.
[3] Vezhnevets, Alexander Sasha, et al. "Feudal networks for hierarchical reinforcement learning." Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.
[4] Harutyunyan, Anna, et al. "The Termination Critic." arXiv preprint arXiv:1902.09996 (2019).
[5] Konidaris, George, and Andrew G. Barto. "Building Portable Options: Skill Transfer in Reinforcement Learning." IJCAI. Vol. 7. 2007.
[6] Liu, Miao, et al. "The eigenoption-critic framework." arXiv preprint arXiv:1712.04065 (2017).
[7] Jain, Arushi, Khimya Khetarpal, and Doina Precup. "Safe option-critic: Learning safety in the option-critic architecture." arXiv preprint arXiv:1807.08060 (2018).