This won't work with `prefer = null` and `firstOnly = true` or sth like that.