I've noticed that when there are any errors inside a go block, the line number of the error is always the line containing the go symbol.
I suspect that some meta data on the forms that are converted into a state machine is being lost in the process.
This is quite annoying and quite leaky (in the abstraction sense). It makes it that much harder to track down the source of errors.