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
first-class objects are instances of a type that can be assigned to an identifier, passed as a parameter, or returned by a function