fixes #26, defines print type and typechecking and building