class Day:
     """Individual days defined by their dates."""
 
-    def __init__(self, date):
+    def __init__(self, date:str):
         self.date = date
         self.datetime = datetime.strptime(date, DATE_FORMAT)
 
         """Return what weekday matches self.date."""
         return self.datetime.strftime('%A')
 
-    def __eq__(self, other):
-        return self.date == other.date
+    def __eq__(self, other:object):
+        return isinstance(other, self.__class__) and self.date == other.date
 
-    def __lt__(self, other):
+    def __lt__(self, other:Day):
         return self.date < other.date
 
 class TaskHandler(BaseHTTPRequestHandler):
     """Handles single HTTP request."""
 
-    def send_html(self, html, code=200):
+    def send_html(self, html:str, code:int=200):
         """Send HTML as proper HTTP response."""
         self.send_response(code)
         self.end_headers()
         self.wfile.write(bytes(html, 'utf-8'))
 
-    def send_msg(self, msg, code=400):
+    def send_msg(self, msg:str, code:int=400):
         """Send message in HTML formatting as HTTP response."""
         html = self.server.jinja.get_template('msg.html').render(msg=msg)
         self.send_html(html, code)