how is `first` defined? the declaration order?