code: function showTypeWith(types) {
      var names = Z.chain (typeVarNames, types);
      return function(t) {
        var code = 'a'.charCodeAt (0);
        return when (t.type === FUNCTION)
                    (parenthesize (I))
                    ((show (t)).replace (/\bUnknown\b/g, function() {
                       // eslint-disable-next-line no-plusplus
                       do var name = String.fromCharCode (code++);
                       while (names.indexOf (name) >= 0);
                       return name;
                     }));
      };
    }
docs: showTypeWith :: Array Type -> Type -> String