The function may fail with a badarg exception because the first regex returns an iolist() which is allowed to be a improper list. In this case '++' cannot append to the iolist. The correct way to append something to an iolist() is [iolist(), "tail"] because iolist's are allowed to be arbitrarily deep lists.pull/3/head