Very bad: breaking into the abstraction

# include "istack.h"

struct istack {
  size_t total;
  size_t height;
  int *array;
};

int main (void) {
  char buf [37];
  istack s = istack_new ();
  s->total = -23;
  s->height = 31415;
  s->array = buf;
  ...
}