I’m new here, so I could well be missing something, but isValueReceivedOnFaceExpired seems broken to me.
The tutorials tell us to use it to sense neighbours, but I can’t relate the name of it and the boolean return value to what seems to be three states it’s trying to represent.
First, the name - isValueReceivedOnFaceExpired - clearly needs to return a boolean value. Is the Value Received Expired? Yes, it is expired, or No, it has not expired.
But then we’re told that No (or False) means it has no neighbour.
So, uh, what if a Value received on a Face has not in fact expired, does it return ‘No Neighbour’?
And if a Value received on a Face doesn’t expire, or always expires by the time this is called, then why call it this in the first place?