More than that, IMO, the module shouldn't be advertising the constructor as an integral part of the interface - rather, something more like that shown in Monadic Classes.
A user level that continues to overstate my experience :-))
Comment on Re^3: Is assigning undef required for DESTROY to run?