old_contents: # Python 3.6
  
  class Expr:
      pass
  
  
  class App(Expr):
      def __init__(self, fname, args=()):
         self.fname = fname
         self.args = args
  
      def __str__(self):
          return '{0}({1})'.format(self.fname, ','.join(map(str, self.args)))
  
  
  class Var(Expr):
      def __init__(self, name):
          self.name = name
  
      def __str__(self):
          return self.name
  
  
  class Const(Expr):
      def __init__(self, value):
          self.value = value
  
      def __str__(self):
          return self.value
  
new_contents: # Python 3.6
  
  class Expr:
      pass
  
  
  class App(Expr):
      def __init__(self, fname, args=()):
         self.fname = fname
         self.args = args
  
      def __str__(self):
          return '{0}({1})'.format(self.fname, ','.join(map(str, self.args)))
  
  
  class Var(Expr):
      def __init__(self, name):
          self.name = name
  
      def __str__(self):
          return self.name
  
  
  class Const(Expr):
      def __init__(self, value):
          self.value = value
  
      def __str__(self):
          return self.value
  
  
  # TODO: implement these
  def parse_expr(s):
      """Parses an expression in 's' into an Expr."""
      pass
  
  
  # Need a bindings map to pass around for unify
  
subject: Add more skeleton function code and TODOs