Improved data! macro. It now allows self-referencing fields, eliminating the need for initialize().