The need for optional types in Swift