I'm not saying they should not be different structs. I'm saying if we have 2-3 types of heartbeats, calling one "HeartBeat" is confusing because it implies it is the only heartbeat. HeartBeatTransaction isn't that much better but at least it makes you think its not the cannonical heartbeat and there might be others. Maybe HostheartBeat and CollatedHeartbeat?