The idea sounds interesting. As for the suggestion above of limiting it, while there could be reason for it, I'd suggest that if you do so by type, to limit it by doing something like having each type have one or two other types you can't bind at the same time as them. Thus you would be able to focus on any one type on its own, but as you started trying to add more types, the chance of having one invalidate another as an option would increase. Also, you forgot the deathless type.