construct a sane StructReader