More conservative whitespace buffering for arrows

Previous commit too liberally buffered arrows, when it should only
separate ones that are at the start of an identifier (not ones in the
middle or at the end).