SwapEndian([u]int16) has unnecessary “and $FFFF”.
If only not to work around some compiler bug, these ands serve no purpose, and they get down to machine code. An optimization that would eliminate such ands at the node level could be slighly useful, but removing these two is something that can be done without using the brain at all...