Struct-info extended with field name information, match extended with named field patterns.

Split into two commits to separate the concerns.