Preserve more newlines by default
I often use newlines to separate stuff. For example:
#lang racket
(define (f)
(do-setup-stuff)
(define (helper1)
body ...)
(define (helper2)
body ...)
(do-main-stuff))
(define (g)
(do-g-stuff))
That is, at the module level, I like to use two newlines between definitions, and within definitions (like functions, classes, structs, etc.) I like to use one newline between subdefinitions.
The fmt tool is fine with my subdefinitions but really doesn't like that I put two newlines between my top-level definitions instead of one. I'm of the opinion that forcing the module-level and the internal-definition level to look the same is not readable. Do you think letting fmt leave the number of newlines between definitions alone is a reasonable thing for it to do? I notice it already does for internal definitions: if I get rid of the newlines in the internal definitions, raco fmt leaves them alone. It seems to only go out of its way to change code from using two newlines to use a single newline.