Less permissive parsing of responses

- use pcase pattern-matching instead of list navigation