That is true. We could add another level of `if else` nesting (maybe at the cost of readability?) or alternatively make `location` a `lazy val`.