Precise Unit/Void in 'Algebraic data-types'