Type intended to be used with
Parseable, with instances that
implement a non-greedy parse of the module name, including top-level
pragmas. This means that a parse error that comes after the module
header won't be returned. If the
Maybe value is
Nothing,
then this means that there was no module header.