Last time, we talked about type annotations and type inference. If you've worked with Java, you know how many times you've been brought to tears by NullPointerException. That awful feeling when it ...