Steps to reproduce:
hare build
Go avoids this by checking whether the to-be-overwritten file is an object[1], although this might not work well with +data (#21).
+data
[1] https://github.com/golang/go/blob/ba7f3d98d41f01291dd831e618736b02a79ef27a/src/cmd/go/internal/work/exec.go#L1917