Why is this not a lazy val? (Sorry if this was already discussed)