'Fields common to all scores include:
:param graded: Whether or not this module is graded
:type graded: bool
:param first_attempted: When the module was first attempted, or None
:type first_attempted: datetime|None'

@contract(graded='bool', first_attempted='datetime|None')
def __init__(self, graded, first_attempted):

    self.graded = graded
    self.first_attempted = first_attempted
