sub mapn (&@) { my ( $callback, $n ) = splice @_, 0, 2; map $callback->( splice @_, 0, $n ), 0 .. @_ / $n -1; }