Slightly more 'correct' deriving check for types nested in lists