Split test data type into two parts

I think the reason is that derived Read instances are exponential in the
size of the input string when using infix constructors.