Merge in destructure branch changes

Use threading macro for clarity/concision.
Use standard Friend workflow calling convention (workflow :foo "bar") instead of (workflow {:foo "bar"}).

Doesn't look like the midje tests are finished so not sure how to test it.