one can now convert to branch traits

This is a downgrade of static safety, but is certainly an upgrade
in convenience. Now we don't have to spell out emulations for union types,
which are just mildly annoying in case of names, but close to impractical
in case of e.g. terms.