error checking needs to pay attention to struct/end indent: let x = blah ;;; double semi weirdness i need to release this!