arrow: reusable functions, structs