let rec list_first (number: int) (list: 'a list) : 'a list =
  match list with
    | [] ->
        []

    | head :: tail ->
        if number = 0 then
          []
        else
          head :: list_first (number - 1) tail