enforce type on IO.of