don't leave an open subparse when parsing a required method

all start_subparse calls must be paired with a new*SUB call, or else
closures aren't set up properly
hashids has a bug that wasn't caught earlier