Looking through gargoyle_firewall_util.sh from 1.3.7 I'm not sure if I have found a couple of typos or if I'm just misreading the script. In particular, see the spelling of vars "egress_exits" & "ingress_exits" assignments vs the if blocks which reference "egress_exists" & "ingress_exists". As I am by no means a script expert, then I probably don't understand some subtleties going on here and happy to be wrong, please be gentle on this novice.
Version of file is from 1.3.7 but would be interesting to see if others could check later versions.