open types for all arrows, not just pure ones