This parse transform can be used to reduce compile-time
dependencies in large systems.

In the old days, before records, Erlang programmers often wrote
access functions for tuple data. This was tedious and error-prone.
The record syntax made this easier, but since records were implemented
fully in the pre-processor, a nasty compile-time dependency was
introduced.

This module automates the generation of access functions for
records. While this method cannot fully replace the utility of
pattern matching, it does allow a fair bit of functionality on
records without the need for compile-time dependencies.

Whenever record definitions need to be exported from a module,
inserting a compiler attribute,
export_records([RecName|...]) causes this transform
to lay out access functions for the exported records: