Why prefer free functions to methods?