homegeneous tuple as applicative
serial port read/write