Make edge attributed type generic