mainの実体もIOモナドのため、関数から自作することが可能