What is the `safe` parameter for Dry::Struct.new?

According to the API docs, Dry::Struct.new has a safe parameter, but it’s not documented. What does this parameter do? Does it have anything to do with security, e.g. whether the method becomes safe to use against untrusted input?

It is an internal argument used for separating call paths, making code faster in some cases. It has nothing to do with security and it’s not part of the public API. We could theoretically do it in some other way but that would be a breaking change since people may override new in their struct classes. In other words, because reasons :slight_smile: