I notice that a lot of open-source Scala APIs use Future (like Slick) or Java-style exception handling (like spray-json) rather than Try or Either.
Are there problems returning Try or Either in simple, open-source APIs that aren't long-running or asynchronous? Should I avoid these and, if so, what should I use instead?
(Obviously, I'd prefer to use core Scala APIs rather than third-party libraries, such as Scalaz, to avoid forcing downstream users to use these libraries as well.)