Allows protocols to depend on other protocols. (Fixes #27)