но где у меня может возникнуть такая необходимость? зачем мне ваще такой интерфейс нужен?
Я же приводил пример. Foldalble, т.е. коллекция, которая может быть свернута в одно значение.
У которой могут быть методы foldl, foldr, foldl1, foldr1, т.е. левая и правая свертка исползья в качестве изначально значения внешний элемент или первый элемент самой коллекции.
И в таком случае вполне не обязательно реализовывать все методы, т.к. некоторые выразимы друг через друга.