Why are this and the following functions extensions, but you don't use ``this`` in them and require call sites to pass same value twice?