functions can wrap object contracts around parameters and return values
  -- comma separated list of hash-rocketed key/combinator pairs