Whilst undertaking D5846, it was non-trivial to find a pair of unoccupied IDs to use for EDGECONST values. Additionally, if users want to write their own PhabricatorEdgeType subclasses then they need to ensure that they start at a number high enough to not collide with the upstream.
Perhaps it would be better to use the class name as the type attribute for the edge?