document metadata syntax
flatten: throw error when input is not an array
service: return value from set() / value()