consolidate this copy/pasted crap; it's got a bug and I only want to fix it once
comments
fix skipping members after the first one in types w/ no members; makes #25 actually finished and continues work on #27