Stable name type role

Authored by dfeuer on Oct 4 2018, 12:52 PM.

Description

Stable name type role

Make the StableName# parameter phantom:

There is actually never any reason to care about the type of
the underlying object of a StableName#. The underlying object
type shouldn't really even *be* a parameter. But at least we
can mark it as phantom.

Reviewers: hvr, bgamari, erikd, simonmar

Reviewed By: simonmar

Subscribers: ekmett, rwbarton, carter

Differential Revision: https://phabricator.haskell.org/D5117