Discrete functions are not constant in the language
Discrete functions passed to the language are modifiables. This is against pugs
's policy since it can lead to inconsistant data.
A way to fix this invalid behavior could be to use variants instead of inheritance.