Anti-pattern: state machine instead of datatype

Types of values are simpler than types of (nontrivial) state machines. It's an anti-pattern to develop a system where state machines are emphasised over data types.

Persisting a consistent snapshot of interacting state machines is complex, inefficient, difficult to test and subtle.

State machines have identity and that complicates the semantics.

This anti-pattern is associated with preferring a message oriented architecture over a data-centric one.

It's also associated with the anti-pattern of using OO where the RM is more appropriate - i.e. using OO to record facts about things.