it all typechecks