No, noderoles really are not triples.  One of the core invariants is that any given node cannot have more than one noderole binding it to a role (irrespective of what deployment and/or snapshot happens to own the node), because Crowbar does not even want to try to solve how to make 2 or more instances of an arbitrary workload coexist on the same node right now.