Put protocols in a separate namespace

This solves the "* is not a parser" problem.