Closed #80 as it is no longer relevant the edge cases become more and more complicated. Worked on #77 by removing the need for *identifiers.