There is no reason for Value to be an AbstractTypeUser. This just makes things