Unrelated note, but so I don't forget to mention this:

I don't remember if it was me that added these functions or not, but I think they are a bad thing to have. We should refactor and try to avoid them.