check argument and return types statically