Technically yes. But all three are intended for different purposes, and have subtle differences. E.g. number 2 could be used for database serialization, but not in its current form because it is XID-based (not a deal breaker, really, but not ideal). Also, the current object serialization assumes data integrity. If it were text-base and therefore human editable, the code should no longer assume this.