4 ms·
changing a record requires a more specific type than `forall a. a` the type `forall a . a -> a` does truly have one single (non exception throwing) implementa
by bweitzman 7y ago
changing a record requires a more specific type than `forall a. a`
the type `forall a . a -> a` does truly have one single (non exception throwing) implementation since there is no information you can glean about your argument other than the fact that it exists.
Once you have more structure, for example in `Person -> Person` or even `forall a . [a] -> [a]`, you have more possible implementations than just the identity function.