Fix types for role JSON decode

Too much was happening behind the curtains and thus roles JSON decode
was returning Nothing.  Fix by making the types more constrained.