more liberal parsing
elaborate datacon types