we have `needle?: DOMChild` to specify optional parameters.