# Optional function arguments / cell annotations

**URL:** <https://talk.observablehq.com/t/optional-function-arguments-cell-annotations/509>\
**Category:** Feedback\
**Created:** [March 16, 2018, 12:54pm UTC](https://talk.observablehq.com/t/optional-function-arguments-cell-annotations/509 "2018-03-16T12:54:56Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![tom](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.observablehq.com/tom/32/2262_2.png) [@tom](https://talk.observablehq.com/u/tom)\
**Post date:** [March 18, 2018, 6:58am UTC](https://talk.observablehq.com/t/optional-function-arguments-cell-annotations/509/2 "2018-03-18T06:58:03Z")

</div>

Hi Kelley!

Cool, so:

- **Optional function arguments** : yep! We originally included them in our function formatting, because we were essentially stringifying functions and being very liberal about what we showed, but the current formatting is much more conservative - it parses argument names and bails out if we see a `=`. The rationale there is that optional function arguments can have _anything_ as a value - even a gigantic JavaScript expression - and we still need to figure out where to draw the line - which kinds of function arguments should be shown in the short version. Perhaps we can just say, literals get printed, everything else collapsed?
- Annotations - we’d love something like python’s docstrings or clojure’s meta system to be a reality in JavaScript, and [I’ve been tinkering with the idea](https://github.com/tmcw/dx-spec/issues/7). It’ll likely require a new spec and documentation ecosystem, but the payoffs - not only getting nice output in Observable but also getting inline documentation from 3rd party libraries - makes it something that we’re all pretty game to invest some time in.

-Tom

---

_[View the full topic](https://talk.observablehq.com/t/optional-function-arguments-cell-annotations/509)._
