I was looking at the Java8 Optional<T> the other day, and I thought by myself, that’s ridiculous, why should I change the variable declaration when I can just do var?.dosomething() like in Dart or Kotlin. Java8’s Optional doesn’t play well with JSON serialisation, the place where I need it most.