First class object

first-class objects are instances of a type that can be assigned to an identifier, passed as a parameter, or returned by a function