I am using something identical, except each item have a sequential number based on how many of the same type the parent has. In addition it uses values of two fields for further distinction. At the moment I am triggering this naming with a button click.
When the Fibery team release mixing of types in Formula you should be able set the name to be automatic with one such identifier.
However as Nicol mentioned, you can use Public ID since it’s a string IIRC. You can have your type have automatic name using formula SomeFieldName + "-" + [Public ID]
Possible, but Formula is constantly being updated, meaning if you now have 3 instead of 2 where Animal = Cat, then the evaluation change from 2+1 to 3+1.