code: function getTemplate(val, defaultVal) {
    if(isFunction(val)) {
      return val(cloneDeep(defaultVal));
    }
    else if(isArray(val)) {
      return val;
    }
    else {
      return cloneDeep(defaultVal);
    }
  }
docs: if passed a function, invoke it and pass a clone of the default (for safe mutations)
  if passed an array, use as is
  otherwise, just return a clone of the default
  @param val {*}
  @param defaultVal {Array}
  @returns {Array}