Use Jeanine Adkisson-style variants

Service endpoints return two-element vectors of a `type` and a
`value`. The timeout value on deref of the service promise is also a
vector like that. Handling those values is done with core.match.
Merge pull request #1 from tie-rack/variants

Use Jeanine Adkisson-style variants