Format module from the Standard Library

No it doesn’t, Just close the box before closing the parens:

# Fmt.pr 
     {|@[<v2>"%s": {@ %a@]@ }|} 
     "foo" 
     Fmt.(list ~sep:cut string) [ "aaa"; "bbb" ; "ccc" ];;
"foo": {
  aaa
  bbb
  ccc
}

You almost never need negative indentation with format. If you do, it’s more likely than your boxes are in the wrong places.

Honestly, there is nothing really easy about easy-format. The API is not particularly intuitive, the layout specification is not particularly easier to use and it looses all the free-form combinators from Format.