While making changes for #152 , I realized that there are functions that have gradient! implemented, but neither is_smooth nor is_locally_smooth is true for them. Why is that? Wouldn't they need a property function that signals that they have gradients defined for a part of their domain?
DistL2
ElasticNet
NormL2
NormLinf
SumPositive
I ask this out of curiosity, not because I really need such functionality.