re: #1
You are absolutely correct. Good eyes there. Of course if we are gonna be picky, then head should be:
sub head (@) { $_[0] }
to also avoid the "side-effect" effect of
shift.
re: #2
I see what you are saying here, but approx. 300 lines of code IMO, is not really appropraite to post in a node. As for posting the code elsewhere (website/CPAN/whatever), it was really just an exercise for fun, to see how far i could push Perl into the realm of functional programming, I have no delusions that it is good for anything outside of that.
-stvn