The default read-only implementation of User.
The default read-only implementation of User. You typically should not need to directly reference this class; instead, use the User.apply method to construct new instances.
This Proxy trait allows you to extend the User trait with additional state or behavior and implement the read-only methods from User using an underlying instance.
Field information in declaration order.
Checks that all required fields are non-null.