Minor improvements

- Dereference self before matching (I still don't know the difference
  here, but it seems more in line with tradition)

- Use the "smart" Append function in concat
Further modularizing