Comment
Comment by lkitching
The OP is contrasting between a 'validation' function with type e.g.
and a 'parsing' function
The property encoded by the ValidEmail type is available throughout the rest of the program, which is not the case if you only validate.