Every record has flexibility that gives it OOP powers. I can give any individual record any number of tags and values. So, one can think of a record as being like an object. Most of us are familiar with OOP languages that incorporate the idea of a class. Well, if I want to use that in Eve, for example, If I want to model a collection of, say, animal objects, then I could tag them #myAnimals and assign each record with the attributes and values I feel are necessary. I can validate any record with #myAnimals to check that it contains all the necessary attributes, and also check those values fall within validation rules.
I can continue this deep connection between Eve records and standard class objects. Modelling set/get properties, methods, inheritance, prototypes are all possible. A record can have an attribute that takes a record, or a set of records as a value. This is in many ways like how an object can have a pointer to another object, or a collection of objects.
Binding records to each other is a very different way to think about a setter. Let's say one record represents a data object, and another record represents its corresponding view object (say a label field on the screen). Using BIND, one can cause the TextToDisplay attribute in the view record to respond to changes in the data record.
Like OOP, Eve allows for mutation, and effects. That is, one can change a value on #myInnocentLookingRecord which can be bound to #StrategicAirCommand LaunchMissiles=True. The hope is that Eve will allow either a smart compiler, or a skilled programmer to realize the potential fallout, (pun intended) and prevent it before the code ships.