Optionals are misunderstood

"Optional is intended to provide a limited mechanism for library method return types where there is a clear need to represent "no result" and where using null for that is overwhelmingly likely to cause errors." Unfortunately they get misused, let's clear that up through some common pitfall clean-ups.