Keep a particular order of protocols when extending

Graph, Digraph, WeightedGraph, EditableGraph