Modify API of functional.bind, and add spec; closes #48