After reading
defining methods on the fly, I finally made the effort to learn about
:lvalue subroutines.
They seem useful enough, so I added support for autogenerating :lvalue accessor methods to Object::InsideOut since one of the design philosophies behind OIO is full support of TIMTOWTDI.
Their use is well-documented in the POD as well as some issues related to :lvalue subroutines in general.
In perlsub, an issue is raised that type checking cannot be performed in :lvalue subroutines. While this is true for pure Perl, this limitation can be overcome using the Want module. As such, the :lvalue accessor methods generated by OIO have the same type checking capabilities as other accessors.
Remember: There's always one more bug.