In programming language design , a first - class citizen ( also type , 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 an argument , returned from a function , and assigned to a variable .