Refer to the moduledoc from Record.defrecord