Java is a very concrete and powerful language. In the last 20 years Java has become a staple in enterprise, mobile, and server side computing. However, if you're coming over to Java from languages like Swift, Python, or Haskell you might say be wondering about different functional aspects of Java. One question I had is, "How come Java does not support n-value heterogeneous return type tuples?" The answer is that Java's methods are intended to have one return type per method call.