Here is our JavaScript Teaser for May 14, 2015. Can you solve it?

What does this function return and why?

function awful() {
  function terrible(x, y, z) {
    return x;
  terrible[0] = 'this';
  terrible[1] = 'is';
  terrible[2] = 'pretty';
  terrible[3] = 'terrible!';
  terrible.length = 4;
  return [], terrible).join(' ');

Please post the answer on JSFiddle or similar service, and then post a link to your answer here. You can also post comments below or email's CTO,, if you wish to share further ideas.