Material -- course material for disemination to course participants
  course          CourseId
  name            (CI Text)
  type            (CI Text) Maybe
  description     StoredMarkup Maybe
  visibleFrom     UTCTime Maybe    -- Invisible to enrolled participants before
  lastEdit        UTCTime
  UniqueMaterial course name
  deriving Generic
MaterialFile -- a file that is part of a material distribution
  material MaterialId
  title    FilePath
  content  FileContentReference Maybe
  modified UTCTime
  UniqueMaterialFile material title
  deriving Generic