naive implementation of arrows