why not reuse `function/bind`?