With Jose Valim's help, properly set up guards. Removed older functions. Also added generic _number_and_dice/1 match to return input with a 0. This allows for proper handling of negative numbers, but also leads to some bogus expressions passing.