-- Informational notes --
topLevelComponent
  :: InfoExtractor
       v
       loc
       [(v, Type v loc, RedundantTypeAnnotation)]
topLevelComponent = extractor go
 where
  go (C.TopLevelComponent c) = Just c
  go _                       = Nothing
topLevelComponent
  :: InfoExtractor
       v
       loc
       [(v, Type v loc, RedundantTypeAnnotation)]
topLevelComponent = extractor go
 where
  go (C.TopLevelComponent c) = Just c
  go _                       = Nothing
topLevelComponent = extractor go
 where
  go (C.TopLevelComponent c) = Just c
  go _                       = Nothing