Add support for `first` for returning first match