Some models such as the Time Server requires that certain messages are sent with a TTL of 0. (See 5.3.1.2.2 Sending a Time Status message). However, not all messages sent from this model should use TTL 0.
From the Mesh Profile specification, 3.7.4.1 Transmitting an access message.
"The TTL field may be specified by the application by setting it to the number of hops required to transfer
the message from the source element to all the destination addresses. However, if this is not specified,
the Default TTL shall be applied by the access layer."
However, the access_message_tx_t used by access_model_publish() and access_model_reply() lack support for an application level defined TTL.
It would make sense to have TTL field in the access_message_tx_t struct so that an application can choose it when needed.