It would be cool to prevent from pattern matching twice on parent.
Is it possible to make `emptyValue` a function matching on the JsValue directly?