Update README.md

`validate` and `valid?` are functions not macros, this rang some alarm bells as to why this was necessary, and it turns out they are not.
Very minor change to use destructuring syntax to pull out m-bind and m-result
use with-monad to bind monad functions
Merge pull request #18 from silasdavis/master

Minor readme change to not make it seem a strange design decision was taken, and very minor (somewhat random) syntax change