I see the problem here, but if I understand your code correctly then I'll have to dispatch every subroutine call to the right module. The problem here is that my module is that import is not the only method called on this module, since it is an object, so import is only used as a class initializer.
in reply to Re^5: if only blocks were avoidable... (use twice)
in thread if only blocks were avoidable...
Oh, maybe I'll just start every subroutine with a conditional bytes->import. Not lazy enough, I know, but it seems that Laziness doesn't get me much here.
The reason I need 'use bytes' is for documents printed in legacy encodings. It turns out that perl spontaneously converts strings to unicode when some internal functions are used and then you get garbage in the browser. So I want to allow the user of my module to state that he uses legacy encoding and deal with it properly.