replace Underscore with Ramda

That's certainly an option, but there are a couple of problems:

  - a nucleotide's data argument is always first, whereas with currying we'd like it to come last; and
  - many nucleotides have optional arguments, and currying relies on knowing when all arguments have been given.

It's probably best to let Ramda provide nicely designed, curried versions of common functions, and have Nucleotides fill in the gaps.