Structure sharing reinstated

diagonal sharing bug still at large...