gem assertion type

really basic for now, lots of things needing to be done in the notes at the head of the file.