Violação estrita usando esta palavra-chave e revelando o padrão do módulo

Tendo problemas para fazer o seguinte passar jslint / jshint

/*jshint strict: true */
var myModule = (function() {
    "use strict";

    var privVar = true,
        pubVar = false;

    function privFn() {
        return this.test; // -> Strict violation.
    }

    function pubFn() {
        this.test = 'public'; // -> Strict violation.
        privFn.call(this); // -> Strict violation.
    }

    return {
        pubVar: pubVar,
        pubFn: pubFn
    };

}());

myModule.pubFn();

Entendo que está sendo causado pelo uso dethis em uma declaração de função, mas li algo que Crockford escreveu e ele disse que a violação visa impedir a poluição de variáveis globais - mas a única variável global aqui é a que estou definindo explicitamente ...myModule. Todo o resto é mantido no escopo da função imediata, e eu devo poder usarthis para se referir ao módul

Alguma idéia de como posso obter esse padrã

Atualizar se eu usar uma expressão de função em vez de uma declaração, isso parece funcionar, ou seja,

var pubFn = function () { ...

Eu não sou fã desse formato, prefiro ter o nome da função e os parâmetros nomeados mais próximos e a declaração parece / parece mais limpa. Sinceramente, não vejo por que isso está causando a violação - não há razão para isso nesse padrã

questionAnswers(3)

yourAnswerToTheQuestion