# @ts-check

import shift_getType from './getType'
import shift_isArray from './isArray'

###* @type import('./shift').Shift ###
export default (list) ->

  unless shift_isArray list
    throw new Error "shift: invalid type '#{shift_getType list}'"

  shift_first = list[0]
  list.RemoveAt 1

  return shift_first