Why can't defstructs be redefined?