made progress on fixing bind() (added more type traits...)