code: function getNameOfType(x) {
    switch (false) {
      case !(x == null):
        return `${x}`; // null / undefined
      case !is.String(x):
        return x;
      case !is.Function(x):
        return x.name;
      case !is.NaN(x):
        return 'NaN';
      default:
        return x;
    }
  }
docs: translates any argument we were meant to interpret as a type, into its name