code: function toStringMap(str) {
      if (!validation.isArray(str)) {
          try {
              str = JSON.parse(str);
  
              if (!validation.isArray(str)) {
                  return undefined;
              }
          }
          catch (e) {
              return undefined;
          }
      }
  
      const parsedArray = [];
  
      str.forEach(pair => {
          if (validation.isArray(pair) && pair.length === 2) {
              const i0 = toStringOrUndefined(pair[0]);
              const i1 = toStringOrUndefined(pair[1]);
  
              if (i0 !== undefined && i1 !== undefined) {
                  parsedArray.push([i0, i1]);
              }
          }
      });
  
      return (parsedArray.length > 0) ? parsedArray : undefined;
  }
docs: Receives anything and parses it into an array map* of strings. If the input is already an array,
  its contents get converted into strings**; if it is a stringified array, it gets parsed,
  stringified and returned; if it is not either of these, it returns undefined. Empty arrays
  are evaluated as undefined.
  
  * = Array map of strings is an array composed of 2d arrays of strings: [String, String]
  ** = The values get stringified using the function 'toStringOrUndefined'
  
  @param {*} str
  @returns {[[String, String]]|undefined}