input: from typing import List
  
  def basic_version_control(lines: List[str]) -> VersionControl:
      """ Implement a basic version control system in Python that keeps track of 
      changes in the code. The function should return an instance of the VersionControl 
      class which has the following methods:
      1. init: initializes the version control system with a list of code lines.
      2. commit: saves the current state of the code lines and increments the version marker.
      3. restore: restores the code lines to the previous version.
      >>> vcs = basic_version_control(["print('Hello')", "print('World')"])
      >>> vcs.commit()
      >>> vcs.lines = ["print('Hello')", "print('Python')"]
      >>> vcs.commit()
      >>> vcs.restore()
      >>> vcs.lines
      ["print('Hello')", "print('World')"]
      """
output:     
  class VersionControl:
      def __init__(self, lines: List[str]):
          self.lines = lines
          self.versions = [lines]
          self.version_marker = 0
  
      def commit(self):
          self.versions = self.versions[:self.version_marker + 1]
          self.versions.append(self.lines[:])
          self.version_marker += 1
  
      def restore(self):
          if self.version_marker > 0:
              self.version_marker -= 1
              self.lines = self.versions[self.version_marker][:]
  
  return VersionControl(lines)
  