next / head impls