added error examples, typchecking improved an all that shit