code: function reverseInner( list, reversedAlready ) {
        if( !list ) {
           return reversedAlready;
        }
        
        return reverseInner(tail(list), cons(head(list), reversedAlready))
     }
docs: js re-implementation of 3rd solution from: http://www.haskell.org/haskellwiki/99_questions/Solutions/5