While those unexported items can't be used by name outside the module in which they are defined, they can be used as a sort of ADT.