allow attr to take functions
Merge branch 'master' of https://github.com/tower/attr