In programming language design, a first-class citizen (also object, entity, or value) in a given programming language is an entity which supports all the operations generally available to other entities. These operations typically include being passed as a parameter, returned from a function, assigned to a variable,can be constructed at run-time,has intrinsic identity (independent of any given name)
So project dependencies can be passed as parameter returned from a function, and assigned to a variable and that makes them first-class citizen??
Whereas lambdas in Java 8 are first-class citizen - functions because they can be used as arguments to other functions, can be returned as the values from other functions, and can be assigned to variables or can be sorted in data structures. And can be manipulated runtime?