#12 Initial fix for generic expression parsing bug
#13 Changed exception type that is thrown when expression cannot be parsed
#12 Added tests for all the generic permutations