TileModule.getCoreAs reworked for better type safety
prevent outputs connecting back to the same structure