I chuckled at the function that takes an object as an argument and returns the same object as the result.
Yes, I know it throws an exception if it's null... but when your id function has side effects, it's a sign that your language is Just "not that great".