Initial work on #618.

@garyb @joneshf I think this is good to go, other than adding a few more tests. Could you please review?
Could do this as `(,) Nothing <$> identifier` to avoid the need for `TupleSections` pragma? I don't mind either way though.